From e46a17e6b5b719259633b12622164b362cdcf9b8 Mon Sep 17 00:00:00 2001 From: Elveg Date: Thu, 16 Jul 2026 16:31:14 +0300 Subject: [PATCH] fix install (retries, until, delay), add deleting tmp-files and fix permissions for alloy.service --- roles/grafana_alloy/tasks/install.yml | 32 +++++++++++++++++++++------ 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/roles/grafana_alloy/tasks/install.yml b/roles/grafana_alloy/tasks/install.yml index b274748..0c7304d 100644 --- a/roles/grafana_alloy/tasks/install.yml +++ b/roles/grafana_alloy/tasks/install.yml @@ -23,13 +23,16 @@ block: - name: "Install | Check Alloy version" changed_when: false + failed_when: false ansible.builtin.command: cmd: "alloy --version" register: grafana_alloy_ver - name: "Install | Assert version correctness" ansible.builtin.assert: - that: "grafana_alloy_version in grafana_alloy_ver.stdout" + that: + - "grafana_alloy_ver.rc == 0" + - "grafana_alloy_version in grafana_alloy_ver.stdout" success_msg: "alloy version {{ grafana_alloy_version }} is installed and working" fail_msg: "alloy version {{ grafana_alloy_version }} is not installed or not working correctly" @@ -39,9 +42,20 @@ name: "unzip" state: present - - name: "Install | Fetch and unpack the distribution" + - name: "Install | Download the distribution archive" + ansible.builtin.get_url: + url: "https://github.com/grafana/alloy/releases/download/v{{ grafana_alloy_version }}/alloy-linux-amd64.zip" + dest: "/tmp/alloy-linux-amd64.zip" + timeout: 30 + force: true + register: download_status + until: download_status is success + retries: 3 + delay: 5 + + - name: "Install | Unpack and delete the distribution" ansible.builtin.unarchive: - src: "https://github.com/grafana/alloy/releases/download/v{{ grafana_alloy_version }}/alloy-linux-amd64.zip" + src: "/tmp/alloy-linux-amd64.zip" dest: "/tmp" remote_src: true @@ -56,15 +70,19 @@ mode: "0755" - name: "Install | Clean up the downloads" + loop: + - "/tmp/alloy-linux-amd64" + - "/tmp/alloy-linux-amd64.zip" ansible.builtin.file: - path: "/tmp/alloy-linux-amd64" + path: "{{ item }}" state: absent + - name: "Install | Create a systemd service unit" notify: "(Re)start Alloy service" ansible.builtin.template: src: alloy.service.j2 dest: /etc/systemd/system/alloy.service - owner: "alloy" - group: "alloy" - mode: "0660" + owner: "root" + group: "root" + mode: "0644"