--- - name: Get latest mysqld_exporter version github_release: user: prometheus repo: mysqld_exporter action: latest_release token: "{{ vault_github_token }}" delegate_to: localhost run_once: true register: mysqld_exporter_version - name: "{{ mysqld_exporter_version }}" set_fact: mysqld_exporter_version: "{{ mysqld_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 mysqld_exporter {{ mysqld_exporter_version.tag }} from GitHub get_url: url: "https://github.com/prometheus/mysqld_exporter/releases/download/\ v{{ mysqld_exporter_version.tag }}/mysqld_exporter-{{ mysqld_exporter_version.tag }}\ .linux-{{ architecture_alias }}.tar.gz" dest: "/var/tmp/mysqld_exporter.tar.gz" register: mysqld_exporter_download_archive until: mysqld_exporter_download_archive is succeeded retries: 3 delay: 5 - name: Unpack mysqld_exporter unarchive: remote_src: true src: "/var/tmp/mysqld_exporter.tar.gz" dest: "{{ mysqld_exporter_install_dir }}" owner: root group: root extra_opts: --strip-components=1 include: - "mysqld_exporter-{{ mysqld_exporter_version.tag }}.linux-{{ architecture_alias }}/mysqld_exporter" notify: Restart mysqld_exporter - name: Copy the mysqld_exporter systemd service file template: src: mysqld_exporter.service.j2 dest: /etc/systemd/system/mysqld_exporter.service owner: root group: root mode: "0644" notify: Restart mysqld_exporter