Files
server-infra/roles/alloy/tasks/main.yml
T
2026-07-10 06:50:52 -05:00

51 lines
1.4 KiB
YAML

---
# Ship host/container logs → Loki and metrics → Prometheus via Grafana Alloy
# (Promtail successor; also collects node + cAdvisor metrics).
- name: alloy | ensure project directories
ansible.builtin.file:
path: "{{ item }}"
state: directory
owner: "{{ admin_user }}"
group: "{{ admin_user }}"
mode: "0750"
loop:
- "{{ apps_base_dir }}/observability"
- "{{ alloy_dir }}"
- name: alloy | config
ansible.builtin.template:
src: config.alloy.j2
dest: "{{ alloy_dir }}/config.alloy"
owner: "{{ admin_user }}"
group: "{{ admin_user }}"
mode: "0644"
register: _alloy_config
- name: alloy | compose file
ansible.builtin.template:
src: docker-compose.yml.j2
dest: "{{ alloy_dir }}/docker-compose.yml"
owner: "{{ admin_user }}"
group: "{{ admin_user }}"
mode: "0644"
register: _alloy_compose
- name: alloy | start / recreate container
ansible.builtin.command:
cmd: >-
docker compose up -d --remove-orphans
{{ '--force-recreate' if (_alloy_compose is changed or _alloy_config is changed) else '' }}
chdir: "{{ alloy_dir }}"
become: true
become_user: "{{ admin_user }}"
register: _alloy_up
changed_when: >-
_alloy_up.rc == 0 and (
'Started' in (_alloy_up.stdout | default(''))
or 'Recreated' in (_alloy_up.stdout | default(''))
or 'Created' in (_alloy_up.stdout | default(''))
or _alloy_compose is changed
or _alloy_config is changed
)