# roles/blackbox_exporter/role.yml name: blackbox_exporter defaults: jet_managed: This file is managed by blackbox_exporter playbook using Jetporch blackbox_exporter_version: 0.24.0 blackbox_exporter_directory: /opt/blackbox_exporter blackbox_exporter_configuration_directory: /etc/blackbox_exporter blackbox_exporter_user: app_exporter blackbox_exporter_group: app_exporter tasks: - tasks.yml handlers: - handlers.yml --- # tasks from roles/blackbox_exporter/tasks/tasks.yml - !directory path: "{{ item }}" attributes: owner: "{{ blackbox_exporter_user }}" group: "{{ blackbox_exporter_group }}" mode: 0o755 with: items: - "{{ blackbox_exporter_directory }}" - "{{ blackbox_exporter_configuration_directory }}" - !shell name: Check if file is downloaded or extracted cmd: stat {{ blackbox_exporter_directory }}/blackbox_exporter-{{ blackbox_exporter_version }}.linux-amd64.tar.gz || stat {{ blackbox_exporter_directory }}/blackbox_exporter-{{ blackbox_exporter_version }}.linux-amd64 save: file_stat failed_when: false changed_when: false - !shell name: Download blackbox_exporter cmd: wget -P{{ blackbox_exporter_directory }}/ https://github.com/prometheus/blackbox_exporter/releases/download/v{{ blackbox_exporter_version }}/blackbox_exporter-{{ blackbox_exporter_version }}.linux-amd64.tar.gz with: condition: (ne file_stat.rc 0) - !shell name: Check if file is extracted cmd: stat {{ blackbox_exporter_directory }}/blackbox_exporter-{{ blackbox_exporter_version }}.linux-amd64 save: dir_stat failed_when: false changed_when: false - !shell name: Extract tarball cmd: tar -C {{ blackbox_exporter_directory }} -xzf {{ blackbox_exporter_directory }}/blackbox_exporter-{{ blackbox_exporter_version }}.linux-amd64.tar.gz with: condition: (ne dir_stat.rc 0) and: notify: Restart blackbox exporter - !shell name: Remove tarball cmd: rm -v {{ blackbox_exporter_directory }}/blackbox_exporter-{{ blackbox_exporter_version }}.linux-amd64.tar.gz with: condition: (ne dir_stat.rc 0) - !directory path: "{{ blackbox_exporter_directory }}/blackbox_exporter-{{ blackbox_exporter_version }}.linux-amd64" attributes: owner: "{{ blackbox_exporter_user }}" group: "{{ blackbox_exporter_group }}" mode: 0o755 recurse: true - !template src: blackbox_exporter.yml.hbs dest: "{{ blackbox_exporter_configuration_directory }}/blackbox_exporter.yml" attributes: owner: root group: root mode: 0o644 and: notify: Restart blackbox exporter - !template src: blackbox_exporter.service.hbs dest: /etc/systemd/system/blackbox_exporter.service attributes: owner: root group: root mode: 0o644 and: notify: Restart blackbox exporter - !shell name: Reload systemd units cmd: systemctl daemon-reload - !sd_service service: blackbox_exporter started: true enabled: true --- # handlers from roles/blackbox_exporter/handlers/tasks.yml - !sd_service service: blackbox_exporter restart: true with: subscribe: Restart blackbox exporter