summaryrefslogtreecommitdiff
path: root/roles/nginx/auth
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2023-12-03 05:23:28 +0100
committerChristian Pointner <equinox@spreadspace.org>2023-12-03 05:23:28 +0100
commit73d220d72d491fff4e8f9206491af6bb2ca5a056 (patch)
treef1ff9517d69d1182c01309a385aa2a7bc0f999c2 /roles/nginx/auth
parentfixup! ch-http-proxy: acutally enable the nftables role for this host (diff)
add whawty-nginx-sso to prometheus monitoring
Diffstat (limited to 'roles/nginx/auth')
-rw-r--r--roles/nginx/auth/whawty-sso/auth/handlers/main.yml5
-rw-r--r--roles/nginx/auth/whawty-sso/auth/tasks/main.yml23
-rw-r--r--roles/nginx/auth/whawty-sso/login/handlers/main.yml5
-rw-r--r--roles/nginx/auth/whawty-sso/login/tasks/main.yml23
4 files changed, 56 insertions, 0 deletions
diff --git a/roles/nginx/auth/whawty-sso/auth/handlers/main.yml b/roles/nginx/auth/whawty-sso/auth/handlers/main.yml
index fad676ce..415a976a 100644
--- a/roles/nginx/auth/whawty-sso/auth/handlers/main.yml
+++ b/roles/nginx/auth/whawty-sso/auth/handlers/main.yml
@@ -4,3 +4,8 @@
service:
name: "whawty-nginx-sso@{{ item }}.service"
state: restarted
+
+- name: reload nginx
+ service:
+ name: nginx
+ state: reloaded
diff --git a/roles/nginx/auth/whawty-sso/auth/tasks/main.yml b/roles/nginx/auth/whawty-sso/auth/tasks/main.yml
index 5ae64b9b..a2bba813 100644
--- a/roles/nginx/auth/whawty-sso/auth/tasks/main.yml
+++ b/roles/nginx/auth/whawty-sso/auth/tasks/main.yml
@@ -13,6 +13,29 @@
state: directory
mode: 0700
+- name: make sure prometheus directories exist
+ when: "(whawty_nginx_sso_auths | dict2items | selectattr('value.config.prometheus', 'defined') | length) > 0"
+ file:
+ path: /etc/prometheus/exporter
+ state: directory
+
+- name: make sure prometheus directories exist
+ loop: "{{ whawty_nginx_sso_auths | dict2items | selectattr('value.config.prometheus', 'defined') }}"
+ loop_control:
+ label: "{{ item.key }}"
+ copy:
+ content: |
+ {% if 'listen' in item.value.config.prometheus %}
+ {% set listen = item.value.config.prometheus.listen %}
+ {% else %}
+ {% set listen = item.value.config.web.listen %}
+ {% endif %}
+ location = /whawty-nginx-sso/{{ item.key }} {
+ proxy_pass http://127.0.0.1:{{ listen | split(':') | last }}{{ item.value.config.prometheus.path | default('/metrics') }};
+ }
+ dest: "/etc/prometheus/exporter/whawty-nginx-sso-{{ item.key }}.locations"
+ notify: reload nginx
+
- name: generate configuration file
loop: "{{ whawty_nginx_sso_auths | dict2items }}"
loop_control:
diff --git a/roles/nginx/auth/whawty-sso/login/handlers/main.yml b/roles/nginx/auth/whawty-sso/login/handlers/main.yml
index f4bbf308..dea155d1 100644
--- a/roles/nginx/auth/whawty-sso/login/handlers/main.yml
+++ b/roles/nginx/auth/whawty-sso/login/handlers/main.yml
@@ -4,3 +4,8 @@
service:
name: "whawty-nginx-sso@{{ item }}.service"
state: restarted
+
+- name: reload nginx
+ service:
+ name: nginx
+ state: reloaded
diff --git a/roles/nginx/auth/whawty-sso/login/tasks/main.yml b/roles/nginx/auth/whawty-sso/login/tasks/main.yml
index e2267238..675a3ffa 100644
--- a/roles/nginx/auth/whawty-sso/login/tasks/main.yml
+++ b/roles/nginx/auth/whawty-sso/login/tasks/main.yml
@@ -25,6 +25,29 @@
state: directory
mode: 0700
+- name: make sure prometheus directories exist
+ when: "(whawty_nginx_sso_logins | dict2items | selectattr('value.config.prometheus', 'defined') | length) > 0"
+ file:
+ path: /etc/prometheus/exporter
+ state: directory
+
+- name: make sure prometheus directories exist
+ loop: "{{ whawty_nginx_sso_logins | dict2items | selectattr('value.config.prometheus', 'defined') }}"
+ loop_control:
+ label: "{{ item.key }}"
+ copy:
+ content: |
+ {% if 'listen' in item.value.config.prometheus %}
+ {% set listen = item.value.config.prometheus.listen %}
+ {% else %}
+ {% set listen = item.value.config.web.listen %}
+ {% endif %}
+ location = /whawty-nginx-sso/{{ item.key }} {
+ proxy_pass http://127.0.0.1:{{ listen | split(':') | last }}{{ item.value.config.prometheus.path | default('/metrics') }};
+ }
+ dest: "/etc/prometheus/exporter/whawty-nginx-sso-{{ item.key }}.locations"
+ notify: reload nginx
+
- name: generate configuration file
loop: "{{ whawty_nginx_sso_logins | dict2items }}"