Add loki service

This commit is contained in:
Tobias Reisinger 2025-06-08 19:58:44 +02:00
parent 37a304d161
commit cbc5df483d
Signed by: serguzim
GPG key ID: 13AD60C237A28DFE
11 changed files with 170 additions and 3 deletions

View file

@ -0,0 +1,3 @@
---
- name: Restart service {{ role_name }}
ansible.builtin.include_tasks: tasks/restart-service.yml

View file

@ -0,0 +1,22 @@
---
- name: Set common facts
ansible.builtin.import_tasks: tasks/set-default-facts.yml
- name: Deploy {{ role_name }}
vars:
svc: "{{ loki_svc }}"
yml: "{{ loki_yml }}"
compose: "{{ loki_compose }}"
block:
- name: Import prepare tasks for common service
ansible.builtin.import_tasks: tasks/prepare-common-service.yml
- name: Template loki config file
ansible.builtin.template:
src: yml.j2
dest: "{{ (service_path, 'loki.yaml') | path_join }}"
mode: "0644"
notify: Restart service {{ role_name }}
- name: Import start tasks for common service
ansible.builtin.import_tasks: tasks/start-common-service.yml

View file

@ -0,0 +1,59 @@
---
loki_svc:
domain: "{{ all_services | service_get_domain(role_name) }}"
port: 3100
caddy_extra: import vpn_only
loki_yml: # https://grafana.com/docs/loki/latest/configure/examples/configuration-examples/#2-s3-cluster-exampleyaml
auth_enabled: false
common:
storage:
s3:
s3forcepathstyle: true
bucketnames: "{{ opentofu.minio_data.loki.name }}"
endpoint: "{{ opentofu.minio_data.loki.api_endpoint }}"
region: "{{ opentofu.minio_data.loki.region }}"
access_key_id: "{{ opentofu.minio_data.loki.access_key }}"
secret_access_key: "{{ opentofu.minio_data.loki.secret_key }}"
ring:
instance_addr: 127.0.0.1
kvstore:
store: inmemory
replication_factor: 1
path_prefix: /loki
ui:
enabled: true
storage_config:
tsdb_shipper:
active_index_directory: /loki/index
cache_location: /loki/index_cache
schema_config:
configs:
- from: "2020-05-15"
store: tsdb
object_store: s3
schema: v13
index:
prefix: index_
period: 24h
compactor:
working_directory: /loki/compactor
loki_compose:
watchtower: update
image: grafana/loki:latest
volumes:
- ./loki.yaml:/etc/loki-config/loki.yaml:ro
file:
services:
app:
command:
- -config.file=/etc/loki-config/loki.yaml
volumes:
data: