diff options
Diffstat (limited to 'tasks')
| -rw-r--r-- | tasks/alertmanager.yml | 59 | ||||
| -rw-r--r-- | tasks/main.yml | 51 | ||||
| -rw-r--r-- | tasks/runit.yml | 17 | ||||
| -rw-r--r-- | tasks/systemd.yml | 9 |
4 files changed, 99 insertions, 37 deletions
diff --git a/tasks/alertmanager.yml b/tasks/alertmanager.yml new file mode 100644 index 0000000..4c9e4d3 --- /dev/null +++ b/tasks/alertmanager.yml @@ -0,0 +1,59 @@ +--- +- name: Download Alertmanager + get_url: + url: "{{alertmanager_url}}" + dest: "{{prometheus_home_dir}}/alertmanager-{{alertmanager_version}}.tgz" + mode: '0600' + owner: "{{prometheus_user}}" + checksum: '{{alertmanager_checksum_alg}}:{{alertmanager_checksum}}' +- set_fact: "alertmanager_extract_dir=alertmanager-{{alertmanager_version}}.{{prometheus_os}}-{{prometheus_architecture}}" +- name: Extract Alertmanager + shell: | + #!/bin/sh + set -e + if ! [ -e "{{prometheus_home_dir}}/{{alertmanager_extract_dir}}" ] ; then + su - '{{prometheus_user}}' -c 'tar xzf alertmanager-{{alertmanager_version}}.tgz' + exit 50 + fi + register: res + changed_when: res is defined and res.rc == 50 + ignore_errors: true + notify: Restart alertmanager +- name: Link alertmanager directroy + file: + state: link + src: '{{alertmanager_extract_dir}}' + dest: '{{prometheus_home_dir}}/alertmanager' + force: yes +- name: Create Data directory + file: + state: directory + dest: "{{alertmanager_data_dir}}" + mode: '0700' + owner: "{{prometheus_user}}" +- name: Write alertmanager configuration file + copy: + content: '{{alertmanager_conf | to_nice_yaml}}' + dest: '{{prometheus_home_dir}}/conf/alertmanager.yml' + owner: '{{prometheus_user}}' + mode: '0600' + notify: Restart alertmanager + tags: + - configuration +- name: Create Runit Directory + file: + state: directory + dest: /etc/sv/alertmanager + owner: root + mode: '0755' +- name: Write runit service + template: + src: alertmanager.runit + dest: /etc/sv/alertmanager/run + owner: root + mode: '0755' +- name: Enable Runit service + file: + state: link + src: /etc/sv/alertmanager + dest: /var/service/alertmanager diff --git a/tasks/main.yml b/tasks/main.yml index cb2645a..19ca131 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -22,15 +22,21 @@ dest: "{{prometheus_home_dir}}/prometheus-{{prometheus_version}}.tgz" mode: '0600' owner: "{{prometheus_user}}" - checksum: 'sha256:{{prometheus_checksum}}' + checksum: 'sha256:{{prometheus_checksum}}' # There's a bug in become_user that doesn't set permissions on the temp directory # which is asinine when my user has sudo persmissions. - name: Extract Prometheus shell: | + #!/bin/sh + set -e if ! [ -e "{{prometheus_home_dir}}/{{prometheus_extract_dir}}" ] ; then su - '{{prometheus_user}}' -c 'tar xzf prometheus-{{prometheus_version}}.tgz' + exit 50 fi - changed_when: false + register: res + changed_when: res is defined and res.rc == 50 + ignore_errors: true + notify: Restart Prometheus - name: Link prometheus directory file: state: link @@ -45,15 +51,38 @@ force: yes loop: - prometheus.yml -- name: Write prometheus template - template: - src: '{{prometheus_template_source}}' +- name: Write prometheus configuration file + copy: + content: '{{prometheus_config | to_nice_yaml}}' dest: '{{prometheus_home_dir}}/conf/prometheus.yml' owner: '{{prometheus_user}}' mode: '0600' -- name: Run Runit Specific tasks - include_tasks: systemd.yml - when: ansible_facts['distribution'].lower() == "ubuntu" or ansible_facts['distribution'].lower() == "centos" -- name: Run Runit Specific tasks - include_tasks: runit.yml - when: ansible_facts['distribution'].lower() == "void" or ansible_facts['distribution'].lower() == "alpine" + notify: Restart prometheus + tags: + - configuration +- name: Create Runit Directory + file: + state: directory + dest: /etc/sv/prometheus + owner: root + mode: '0755' +- name: Write runit service + template: + src: prometheus.runit + dest: /etc/sv/prometheus/run + owner: root + mode: '0755' +- name: Enable Runit service + file: + state: link + src: /etc/sv/prometheus + dest: /var/service/prometheus +- name: Include Aertmanager tasks + include_tasks: + file: alertmanager.yml + apply: + tags: + - alertmanager + tags: + - alertmanager + when: alertmanager diff --git a/tasks/runit.yml b/tasks/runit.yml deleted file mode 100644 index d8bf8d4..0000000 --- a/tasks/runit.yml +++ /dev/null @@ -1,17 +0,0 @@ -- name: Create Runit Directory - file: - state: directory - dest: /etc/sv/prometheus - owner: root - mode: '0755' -- name: Write runit service - template: - src: prometheus/runit/run - dest: /etc/sv/prometheus/run - owner: root - mode: '0755' -- name: Enable Runit service - file: - state: link - src: /etc/sv/prometheus - dest: /var/service/prometheus diff --git a/tasks/systemd.yml b/tasks/systemd.yml deleted file mode 100644 index 031f036..0000000 --- a/tasks/systemd.yml +++ /dev/null @@ -1,9 +0,0 @@ -- name: Write Systemd Unit - template: - src: prometheus/systemd.unit - dest: /etc/systemd/system/prometheus.service -- name: 'Enable Prometheus [Systemd]' - systemd: - enabled: yes - daemon_reload: yes - name: prometheus |
