--- - name: Get latest nginx_exporter version github_release: user: nginxinc repo: nginx-prometheus-exporter action: latest_release token: "{{ vault_github_token }}" delegate_to: localhost run_once: true register: nginx_exporter_version - name: "{{ nginx_exporter_version }}" set_fact: nginx_exporter_version: "{{ nginx_exporter_version | replace('v', '', 1) | trim }}" run_once: true - name: Set architecture alias set_fact: architecture_alias: "amd64" # noqa: var-naming[no-role-prefix] when: ansible_architecture == "x86_64" - name: Set architecture alias set_fact: architecture_alias: "arm64" # noqa: var-naming[no-role-prefix] when: ansible_architecture == "aarch64" - name: "Download nginx_exporter from GitHub (v{{ nginx_exporter_version.tag }})" get_url: url: "https://github.com/nginxinc/nginx-prometheus-exporter/releases/download/\ v{{ nginx_exporter_version.tag }}/nginx-prometheus-exporter_{{ nginx_exporter_version.tag }}\ _linux_{{ architecture_alias }}.tar.gz" dest: "/var/tmp/nginx-prometheus-exporter.tar.gz" mode: "0644" register: nginx_exporter_download_archive until: nginx_exporter_download_archive is succeeded retries: 3 delay: 5 - name: Unpack nginx_exporter unarchive: remote_src: true src: "/var/tmp/nginx-prometheus-exporter.tar.gz" dest: "{{ nginx_exporter_install_dir }}" extra_opts: - --one-top-level owner: "{{ nginx_exporter_system_user }}" group: "{{ nginx_exporter_system_group }}" include: - nginx-prometheus-exporter notify: Restart nginx_exporter - name: Copy sub_status.conf to nginx conf.d template: src: sub_status.conf.j2 dest: /etc/nginx/conf.d/sub_status.conf mode: "0644" notify: Reload nginx - name: Copy nginx_exporter systemd service template: src: nginx_exporter.service.j2 dest: /etc/systemd/system/nginx_exporter.service owner: root group: root mode: "0644" notify: Restart nginx_exporter