diff --git a/defaults/main.yml b/defaults/main.yml index aac7d0e0c08bf42cd91cff2fbc117f7ee94a9d04..ccb416efa4d8a0e1c7394c34428648df4026031a 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 0000000000000000000000000000000000000000..6b78c3d76df73836a8e61fd651b5d15753e78200 --- /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 0000000000000000000000000000000000000000..41098fdae850ef974069d91cf4ccd7ca9f1f9f2b --- /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 a3008f694b239d567fec6f1991e8ed7869b8b8bd..dda2817cede1b9cede3f526f96c8ab61ee07e96b 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 0000000000000000000000000000000000000000..9342f1ce78c9ccd33adc29eb84572cd5bfcb7d6a --- /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