diff options
| author | Ahmed Abdelhalim <[email protected]> | 2026-06-17 18:37:49 +0200 |
|---|---|---|
| committer | Ahmed Abdelhalim <[email protected]> | 2026-06-17 18:42:02 +0200 |
| commit | c7a4dfce1ad0b545b05a8043e321ad49e48873a6 (patch) | |
| tree | fe8a0bfc1bc31dc93a8138cce179df2416875bf4 /roles/prometheus | |
| parent | d9dcfdd822f90eb65117523d7c15694fae952bd2 (diff) | |
Refactor pi roles to use .home.arpa subdomains for services
Diffstat (limited to 'roles/prometheus')
| -rw-r--r-- | roles/prometheus/defaults/main.yml | 1 | ||||
| -rw-r--r-- | roles/prometheus/handlers/main.yml | 6 | ||||
| -rw-r--r-- | roles/prometheus/meta/argument_specs.yml | 4 | ||||
| -rw-r--r-- | roles/prometheus/tasks/main.yml | 15 | ||||
| -rw-r--r-- | roles/prometheus/templates/prometheus.nginx.conf.j2 | 10 |
5 files changed, 36 insertions, 0 deletions
diff --git a/roles/prometheus/defaults/main.yml b/roles/prometheus/defaults/main.yml index 7a231b5c..cd91dee6 100644 --- a/roles/prometheus/defaults/main.yml +++ b/roles/prometheus/defaults/main.yml @@ -8,3 +8,4 @@ prometheus_targets: - "{{ prometheus_host }}:{{ prometheus_port }}" prometheus_node_exporter_targets: [] +prometheus_hostname: "metrics.home.arpa" diff --git a/roles/prometheus/handlers/main.yml b/roles/prometheus/handlers/main.yml index d35a8531..b42a2391 100644 --- a/roles/prometheus/handlers/main.yml +++ b/roles/prometheus/handlers/main.yml @@ -4,3 +4,9 @@ ansible.builtin.systemd_service: name: "prometheus" state: "restarted" + +- name: "Restart nginx" + become: true + ansible.builtin.systemd_service: + name: "nginx" + state: "restarted" diff --git a/roles/prometheus/meta/argument_specs.yml b/roles/prometheus/meta/argument_specs.yml index e1a72307..5f908119 100644 --- a/roles/prometheus/meta/argument_specs.yml +++ b/roles/prometheus/meta/argument_specs.yml @@ -28,3 +28,7 @@ argument_specs: type: "list" elements: "str" default: [] + prometheus_hostname: + type: "str" + description: "FQDN for the prometheus nginx vhost (e.g. 'metrics.home.arpa')." + default: "metrics.home.arpa" diff --git a/roles/prometheus/tasks/main.yml b/roles/prometheus/tasks/main.yml index 1f639c6d..8e315bec 100644 --- a/roles/prometheus/tasks/main.yml +++ b/roles/prometheus/tasks/main.yml @@ -61,3 +61,18 @@ name: "prometheus" state: "started" enabled: true + +- name: "Create prometheus nginx vhost configuration" + become: true + when: prometheus_hostname | length > 0 + ansible.builtin.template: + src: "prometheus.nginx.conf.j2" + dest: "/etc/nginx/vhosts.d/prometheus.conf" + owner: "root" + group: "root" + mode: "0644" + backup: true + validate: > + bash -c 'echo "events { worker_connections 64; } http { include %s; }" > /tmp/nginx-vhost.conf; + sudo nginx -T -c /tmp/nginx-vhost.conf; ec=$?; rm -f /tmp/nginx-vhost.conf; exit $ec' + notify: "Restart nginx" diff --git a/roles/prometheus/templates/prometheus.nginx.conf.j2 b/roles/prometheus/templates/prometheus.nginx.conf.j2 new file mode 100644 index 00000000..5ae9c20c --- /dev/null +++ b/roles/prometheus/templates/prometheus.nginx.conf.j2 @@ -0,0 +1,10 @@ +server { + listen 80; + listen [::]:80; + + server_name {{ prometheus_hostname }}; + + location / { + proxy_pass http://127.0.0.1:{{ prometheus_port }}/; + } +} |
