--- - name: Gather system facts (hardware) ansible.builtin.setup: gather_subset: - hardware become: true - name: Download alloy deb file (x86_64) ansible.builtin.get_url: url: "https://github.com/grafana/alloy/releases/download/v{{ version['packages']['alloy'] }}/\ alloy-{{ version['packages']['alloy'] }}-1.amd64.deb" dest: "/var/cache/apt/archives/alloy-{{ version['packages']['alloy'] }}.deb" owner: "root" group: "root" mode: "0644" become: true when: ansible_facts['architecture'] == "x86_64" - name: Download alloy deb file (aarch64) ansible.builtin.get_url: url: "https://github.com/grafana/alloy/releases/download/v{{ version['packages']['alloy'] }}/\ alloy-{{ version['packages']['alloy'] }}-1.arm64.deb" dest: "/var/cache/apt/archives/alloy-{{ version['packages']['alloy'] }}.deb" owner: "root" group: "root" mode: "0644" become: true when: ansible_facts['architecture'] == "aarch64" - name: Install alloy ansible.builtin.apt: deb: "/var/cache/apt/archives/alloy-{{ version['packages']['alloy'] }}.deb" state: "present" become: true notify: "notification_restart_alloy" - name: Deploy alloy config ansible.builtin.template: src: "{{ hostvars['console']['node']['config_path'] }}/services/systemd/common/alloy/config.alloy.j2" dest: "/etc/alloy/config.alloy" owner: "root" group: "root" mode: "0644" become: true notify: "notification_restart_alloy" no_log: true - name: Create alloy.service.d ansible.builtin.file: path: "/etc/systemd/system/alloy.service.d" state: "directory" owner: "root" group: "root" mode: "0755" become: true - name: Set alloy.service.d/override.conf ansible.builtin.copy: dest: "/etc/systemd/system/alloy.service.d/override.conf" content: | [Service] Restart=always RestartSec=60 owner: "root" group: "root" mode: "0644" become: true notify: "notification_restart_alloy" - name: Set ACL for data directory ansible.posix.acl: path: "{{ item }}" entity: "alloy" etype: "user" permissions: "x" state: "present" loop: - "{{ node['home_path'] }}" - "{{ node['home_path'] }}/data" become: true when: node['name'] in ["bk", "app"] - name: Enable alloy service ansible.builtin.systemd: name: "alloy.service" state: "started" enabled: true daemon_reload: true become: true - name: Check alloy.deb on console delegate_to: "console" ansible.builtin.stat: path: "{{ hostvars['console']['node']['data_path'] }}/bin/alloy-{{ version['packages']['alloy'] }}.deb" register: is_console_alloy_deb - name: Fetch deb bin file ansible.builtin.fetch: src: "/var/cache/apt/archives/alloy-{{ version['packages']['alloy'] }}.deb" dest: "{{ hostvars['console']['node']['data_path'] }}/bin/" flat: true when: not is_console_alloy_deb.stat.exists become: true