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