--- - 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 'cd "{{prometheus_home_dir}}"; 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