parent
fcc0d615a7
commit
4a7df9969d
23 changed files with 746 additions and 0 deletions
28
chris-here-bitte/tasks/add_alloy_configs.yaml
Normal file
28
chris-here-bitte/tasks/add_alloy_configs.yaml
Normal 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
|
||||
7
chris-here-bitte/tasks/install_container_runtime.yaml
Normal file
7
chris-here-bitte/tasks/install_container_runtime.yaml
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
- tags: [ container_runtime, podman, container ]
|
||||
block:
|
||||
|
||||
- name: Install podman
|
||||
become: true
|
||||
package:
|
||||
name: [ podman ]
|
||||
8
chris-here-bitte/tasks/main.yaml
Normal file
8
chris-here-bitte/tasks/main.yaml
Normal 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
|
||||
90
chris-here-bitte/tasks/setup_grafana.yaml
Normal file
90
chris-here-bitte/tasks/setup_grafana.yaml
Normal 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 }}"
|
||||
60
chris-here-bitte/tasks/setup_loki.yaml
Normal file
60
chris-here-bitte/tasks/setup_loki.yaml
Normal 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 }}"
|
||||
60
chris-here-bitte/tasks/setup_mimir.yaml
Normal file
60
chris-here-bitte/tasks/setup_mimir.yaml
Normal 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 }}"
|
||||
21
chris-here-bitte/tasks/setup_reverse_proxy.yaml
Normal file
21
chris-here-bitte/tasks/setup_reverse_proxy.yaml
Normal 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue