Files
infrastructure/roles/grafana/tasks/main.yml
Mark HegrebergandChristian Heusel 410f59cb5a apply http_redirect role to our nginx
these are all the systems that the new redirect snippet can be cleanly
applied to. there are a few others not included, that will need a more
manual approach:
 - gitlab (multiple domains)
 - mta.sts(multiple domains)
 - archweb(mutltiple domains, snippets)
 - buildbtw(dynamic dev domains)
 - redirects(different structure)
 - public html(multiple domains)
 - archweb maintenence(different structure)
 - maintenence(different structure)

some of these might be solvable by tweaking the snippet to accept
multiple domains. I'll look into this

Co-authored-by: Christian Heusel <christian@heusel.eu>
2026-03-04 00:52:19 +01:00

56 lines
1.9 KiB
YAML

- name: Install grafana
pacman: name=grafana state=present
- name: Setup HTTP redirect
include_role:
name: http_redirect
vars:
domain: "{{ grafana_domain }}"
- name: Set up nginx
template: src=nginx.d.conf.j2 dest=/etc/nginx/nginx.d/grafana.conf owner=root group=http mode=640
notify:
- Reload nginx
tags: ['nginx']
- name: Make nginx log dir
file: path=/var/log/nginx/{{ grafana_domain }} state=directory owner=root group=root mode=0755
- name: Create grafana config directory
file: path=/etc/grafana mode=0700 owner=grafana group=grafana state=directory
- name: Create grafana provisioning directory
file: path={{ item }} mode=0700 owner=grafana group=grafana state=directory
loop:
- /etc/grafana/provisioning
- /etc/grafana/provisioning/datasources
- /etc/grafana/provisioning/dashboards
- /etc/grafana/provisioning/plugins
- /etc/grafana/provisioning/notifiers
- /var/lib/grafana/dashboards
- name: Install grafana datasources provisioning
template: src=datasources.yaml.j2 dest=/etc/grafana/provisioning/datasources/prometheus.yml owner=grafana group=root mode=0600
notify: Restart grafana
- name: Install grafana dashboard provisioning
template: src=dashboard.yaml.j2 dest=/etc/grafana/provisioning/dashboards/dasbhoard.yml owner=grafana group=root mode=0600
notify: Restart grafana
- name: Copy grafana dashboards
copy: src=dashboards dest=/var/lib/grafana/dashboards owner=grafana group=grafana mode=0600
- name: Copy (public) grafana dashboards
copy: src=public-dashboards dest=/var/lib/grafana/ owner=root group=grafana mode=0640
when: grafana_anonymous_access
- name: Install grafana config
template: src=grafana.ini.j2 dest=/etc/grafana.ini owner=grafana group=root mode=0600
notify: Restart grafana
- name: Fix /var/lib/grafana permissions
file: path=/var/lib/grafana mode=0700 owner=grafana group=grafana
- name: Start and enable service
service: name=grafana state=started enabled=true