tmp
Some checks failed
/ Ansible Lint (push) Failing after 2m17s

This commit is contained in:
lilly 2026-02-26 21:13:07 +01:00
commit 4a7df9969d
Signed by: lilly
SSH key fingerprint: SHA256:y9T5GFw2A20WVklhetIxG1+kcg/Ce0shnQmbu1LQ37g
23 changed files with 746 additions and 0 deletions

View file

@ -0,0 +1,28 @@
- tags: [ grafana_alloy, alloy ]
block:
- name: Deploy extra grafana-alloy config files
become: true
notify: alloy.reloaded
with_filetree: "templates/alloy/"
loop_control:
label: "{{ item.path }}"
template:
src: "alloy/{{ item.path }}"
dest: "/etc/alloy/{{ item.path }}"
owner: alloy
group: alloy
mode: "u=r,g=r,o="
- name: Add alloy systemd override directory
become: true
file:
path: /etc/systemd/system/alloy.service.d/
state: directory
- name: Configure systemd service override
notify: alloy.restarted
become: true
template:
src: alloy.override.conf
dest: /etc/systemd/system/alloy.service.d/override.conf

View file

@ -0,0 +1,7 @@
- tags: [ container_runtime, podman, container ]
block:
- name: Install podman
become: true
package:
name: [ podman ]

View file

@ -0,0 +1,8 @@
- tags: [ monitoring_server, monitoring ]
block:
- import_tasks: install_container_runtime.yaml
- import_tasks: setup_loki.yaml
- import_tasks: setup_mimir.yaml
- import_tasks: setup_grafana.yaml
- import_tasks: setup_reverse_proxy.yaml
- import_tasks: add_alloy_configs.yaml

View file

@ -0,0 +1,90 @@
- tags: [ grafana ]
block:
- name: Create grafana group
become: true
register: grafana_group
group:
name: grafana
- name: Create grafana user
become: true
register: grafana_user
user:
name: grafana
group: grafana
system: true
- name: Create grafana configuration directory
become: true
file:
path: /etc/grafana
state: directory
owner: "{{ grafana_user.name }}"
group: "{{ grafana_group.name }}"
- name: Create grafana state directory
become: true
file:
path: /var/lib/grafana
state: directory
owner: "{{ grafana_user.name }}"
group: "{{ grafana_group.name }}"
- name: Deploy grafana configuration
become: true
notify: grafana.restarted
template:
src: grafana.ini
dest: /etc/grafana/grafana.ini
owner: "{{ grafana_user.name }}"
group: "{{ grafana_group.name }}"
mode: "u=rwX,g=rX,o="
- name: Create grafana provisioning directories
become: true
with_filetree: "templates/grafana_provisioning"
when: "item.state == 'directory'"
loop_control:
label: "{{ item.path }}"
file:
path: "/etc/grafana/provisioning/{{ item.path }}"
state: directory
owner: "{{ grafana_user.name }}"
group: "{{ grafana_group.name }}"
mode: "u=rwX,g=rX,o="
- name: Create grafana provisioning files
become: true
with_filetree: "templates/grafana_provisioning"
when: "item.state == 'file'"
notify: grafana.restarted
loop_control:
label: "{{ item.path }}"
template:
src: "grafana_provisioning/{{ item.path }}"
dest: "/etc/grafana/provisioning/{{ item.path }}"
owner: "{{ grafana_user.name }}"
group: "{{ grafana_group.name }}"
mode: "u=rw,g=r,o="
- name: Configure grafana quadlet
become: true
notify: grafana.restarted
register: grafana_quadlet
vars:
user_id: "{{ grafana_user.uid }}"
group_id: "{{ grafana_group.gid }}"
template:
src: grafana.container
dest: /etc/containers/systemd/grafana.container
owner: "{{ grafana_user.name }}"
group: "{{ grafana_group.name }}"
- name: Ensure grafana is running and enabled
become: true
systemd:
name: "grafana.service"
state: started
enabled: true
daemon_reload: "{{ grafana_quadlet.changed }}"

View file

@ -0,0 +1,60 @@
- tags: [ loki, grafana_loki ]
block:
- name: Create loki group
become: true
register: loki_group
group:
name: loki
- name: Create loki user
become: true
register: loki_user
user:
name: loki
group: loki
system: true
- name: Create loki configuration directory
become: true
file:
path: /etc/loki
state: directory
owner: "{{ loki_user.name }}"
group: "{{ loki_group.name }}"
- name: Create loki state directory
become: true
file:
path: /var/lib/loki
state: directory
owner: "{{ loki_user.name }}"
group: "{{ loki_group.name }}"
- name: Deploy loki configuration
become: true
notify: loki.restarted
template:
src: loki-config.yaml
dest: /etc/loki/config.yaml
owner: "{{ loki_user.name }}"
group: "{{ loki_group.name }}"
- name: Configure loki quadlet
become: true
notify: loki.restarted
register: loki_quadlet
vars:
user_id: "{{ loki_user.uid }}"
group_id: "{{ loki_group.gid }}"
template:
src: loki.container
dest: /etc/containers/systemd/loki.container
- name: Ensure loki is running and enabled
become: true
systemd:
name: "loki.service"
state: started
enabled: true
daemon_reload: "{{ loki_quadlet.changed }}"

View file

@ -0,0 +1,60 @@
- tags: [ mimir, grafana_mimir ]
block:
- name: Create mimir group
become: true
register: mimir_group
group:
name: mimir
- name: Create mimir user
become: true
register: mimir_user
user:
name: mimir
group: mimir
system: true
- name: Create mimir configuration directory
become: true
file:
path: /etc/mimir
state: directory
owner: "{{ mimir_user.name }}"
group: "{{ mimir_group.name }}"
- name: Create mimir state directory
become: true
file:
path: /var/lib/mimir
state: directory
owner: "{{ mimir_user.name }}"
group: "{{ mimir_group.name }}"
- name: Deploy mimir configuration
become: true
notify: mimir.restarted
template:
src: mimir-config.yaml
dest: /etc/mimir/config.yaml
owner: "{{ mimir_user.name }}"
group: "{{ mimir_group.name }}"
- name: Configure mimir quadlet
become: true
notify: mimir.restarted
register: mimir_quadlet
vars:
user_id: "{{ mimir_user.uid }}"
group_id: "{{ mimir_group.gid }}"
template:
src: mimir.container
dest: /etc/containers/systemd/mimir.container
- name: Ensure mimir is running and enabled
become: true
systemd:
name: "mimir.service"
state: started
enabled: true
daemon_reload: "{{ mimir_quadlet.changed }}"

View file

@ -0,0 +1,21 @@
- tags: [ reverse_proxy, webserver, caddy ]
block:
- name: Install caddy
become: true
package:
name: [ caddy ]
- name: Configure caddy
become: true
notify: caddy.reloaded
template:
src: Caddyfile
dest: /etc/caddy/Caddyfile
- name: Ensure caddy is running and enabled
become: true
systemd:
name: caddy.service
state: started
enabled: true