From 53a7f954a1a3244a33238027d95aafb2c99f568c Mon Sep 17 00:00:00 2001 From: Erick Hitter <git-contrib@ethitter.com> Date: Sun, 19 Aug 2018 20:42:26 -0700 Subject: [PATCH] Install service using sysv script --- defaults/main.yml | 4 ++++ tasks/install.yml | 16 ++++++++++++++++ tasks/logrotate.yml | 16 ++++++++++++++++ tasks/main.yml | 34 +++------------------------------- tasks/service.yml | 29 +++++++++++++++++++++++++++++ 5 files changed, 68 insertions(+), 31 deletions(-) create mode 100644 tasks/install.yml create mode 100644 tasks/logrotate.yml create mode 100644 tasks/service.yml diff --git a/defaults/main.yml b/defaults/main.yml index aac7d0e..ccb416e 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -1,6 +1,10 @@ --- eth_log_alerting_binary_url: "https://git.ethitter.com/debian/eth-log-alerting/uploads/73fb61dcec9e953d24f1180d03959e4c/eth-log-alerting_linux_amd64" eth_log_alerting_binary_dest: /usr/local/bin/eth-log-alerting +eth_log_alerting_init_url: "https://git.ethitter.com/debian/eth-log-alerting/raw/v0.0.1/init.sh" +eth_log_alerting_init_dest: /etc/init.d/eth-log-alerting +eth_log_alerting_init_defaults: /etc/default/eth-log-alerting + eth_log_alerting_config_dest: /etc/eth-log-alerting.json eth_log_alerting_debug_dest: "os.Stdout" diff --git a/tasks/install.yml b/tasks/install.yml new file mode 100644 index 0000000..6b78c3d --- /dev/null +++ b/tasks/install.yml @@ -0,0 +1,16 @@ +--- +- name: Download and install binary + get_url: + url: "{{ eth_log_alerting_binary_url }}" + dest: "{{ eth_log_alerting_binary_dest }}" + mode: 0755 + force: yes + +- name: Set configuration + template: + src: templates/config.j2 + dest: "{{ eth_log_alerting_config_dest }}" + force: yes + owner: root + group: root + mode: 0400 diff --git a/tasks/logrotate.yml b/tasks/logrotate.yml new file mode 100644 index 0000000..41098fd --- /dev/null +++ b/tasks/logrotate.yml @@ -0,0 +1,16 @@ +--- +- name: Configure logrotate + template: + src: templates/logrotate.j2 + dest: /etc/logrotate.d/eth-log-alerting + force: yes + owner: root + group: root + mode: 0644 + when: eth_log_alerting_debug_dest != "os.Stdout" + +- name: Remove logrotate configuration + file: + dest: /etc/logrotate.d/eth-log-alerting + state: absent + when: eth_log_alerting_debug_dest == "os.Stdout" diff --git a/tasks/main.yml b/tasks/main.yml index a3008f6..dda2817 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,32 +1,4 @@ --- -- name: Download and install binary - get_url: - url: "{{ eth_log_alerting_binary_url }}" - dest: "{{ eth_log_alerting_binary_dest }}" - mode: 0755 - force: yes - -- name: Set configuration - template: - src: templates/config.j2 - dest: "{{ eth_log_alerting_config_dest }}" - force: yes - owner: root - group: root - mode: 0400 - -- name: Configure logrotate - template: - src: templates/logrotate.j2 - dest: /etc/logrotate.d/eth-log-alerting - force: yes - owner: root - group: root - mode: 0644 - when: eth_log_alerting_debug_dest != "os.Stdout" - -- name: Remove logrotate configuration - file: - dest: /etc/logrotate.d/eth-log-alerting - state: absent - when: eth_log_alerting_debug_dest == "os.Stdout" +- include: install.yml +- include: service.yml +- include: logrotate.yml diff --git a/tasks/service.yml b/tasks/service.yml new file mode 100644 index 0000000..9342f1c --- /dev/null +++ b/tasks/service.yml @@ -0,0 +1,29 @@ +--- +- name: Install service + get_url: + url: "{{ eth_log_alerting_init_url }}" + dest: "{{ eth_log_alerting_init_dest }}" + mode: 0755 + owner: root + group: root + force: yes + +- name: Configure service + lineinfile: + dest: "{{ eth_log_alerting_init_defaults }}" + line: "{{ item }}" + mode: 0644 + owner: root + group: root + state: present + create: yes + with_items: + - 'DAEMON="{{ eth_log_alerting_binary_dest }}"' + - 'DAEMON_ARGS="-config {{ eth_log_alerting_config_dest }}"' + - 'USER="root"' + +- name: Ensure service is enabled and started + service: + name: eth-log-alerting + enabled: yes + state: started -- GitLab