summaryrefslogtreecommitdiff
path: root/roles/monitoring
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2023-08-10 15:12:41 +0200
committerChristian Pointner <equinox@spreadspace.org>2023-08-20 22:12:03 +0200
commit9d4f4538ef6a1cc564befa7d1857426c1343f6a7 (patch)
tree3cd692e50e58ec025ea00e801d9a7d873c9bd0e4 /roles/monitoring
parentnginx/vhost: major change in certifcate/tls handling (WIP) (diff)
monitoring/landingpage: fix tls config and make config changable
Diffstat (limited to 'roles/monitoring')
-rw-r--r--roles/monitoring/landingpage/defaults/main.yml5
-rw-r--r--roles/monitoring/landingpage/tasks/main.yml28
-rw-r--r--roles/monitoring/landingpage/templates/index.html.j26
3 files changed, 34 insertions, 5 deletions
diff --git a/roles/monitoring/landingpage/defaults/main.yml b/roles/monitoring/landingpage/defaults/main.yml
index 88e1b133..8cdaba86 100644
--- a/roles/monitoring/landingpage/defaults/main.yml
+++ b/roles/monitoring/landingpage/defaults/main.yml
@@ -6,3 +6,8 @@
# certificate_provider: "{{ acme_client }}"
#monitoring_landingpage_title: "Example Monitoring Host"
+
+monitoring_landingpage_services:
+ - prometheus
+ - alertmanager
+ - grafana
diff --git a/roles/monitoring/landingpage/tasks/main.yml b/roles/monitoring/landingpage/tasks/main.yml
index 225cab10..5d2c6695 100644
--- a/roles/monitoring/landingpage/tasks/main.yml
+++ b/roles/monitoring/landingpage/tasks/main.yml
@@ -9,22 +9,40 @@
src: index.html.j2
dest: "/var/www/landingpage/index.html"
-- name: configure nginx vhost
- vars:
- nginx_vhost:
+- name: compute base vhost config
+ set_fact:
+ monitoring_landingpage_vhost_base:
name: landingpage
template: generic
hostnames: "{{ monitoring_landingpage_hostnames }}"
- ### make tls settings optional?
- #tls: "{{ monitoring_landingpage_tls }}"
locations:
'/':
root: /var/www/landingpage
+
+- name: compute additional vhost config
+ vars:
+ monitoring_landingpage_vhost_override__yaml: |
+ {% if monitoring_landingpage_tls is defined %}
+ tls: "{{ monitoring_landingpage_tls }}"
+ {% endif %}
+ locations:
+ {% if 'prometheus' in monitoring_landingpage_services %}
'/prometheus/':
proxy_pass: "http://{{ prometheus_server_web_listen_address | default('127.0.0.1:9090') }}"
+ {% endif %}
+ {% if 'alertmanager' in monitoring_landingpage_services %}
'/alertmanager/':
proxy_pass: "http://{{ prometheus_alertmanager_web_listen_address | default('127.0.0.1:9093') }}"
+ {% endif %}
+ {% if 'grafana' in monitoring_landingpage_services %}
'/grafana/':
proxy_pass: "http://{{ grafana_config_server.http_addr | default('localhost') }}:{{ grafana_config_server.http_port | default(3000) }}"
+ {% endif %}
+ set_fact:
+ monitoring_landingpage_vhost: "{{ monitoring_landingpage_vhost_base | combine(monitoring_landingpage_vhost_override__yaml | from_yaml, recursive=True) }}"
+
+- name: configure nginx vhost
+ vars:
+ nginx_vhost: "{{ monitoring_landingpage_vhost }}"
include_role:
name: nginx/vhost
diff --git a/roles/monitoring/landingpage/templates/index.html.j2 b/roles/monitoring/landingpage/templates/index.html.j2
index a340f1db..a9bb8aca 100644
--- a/roles/monitoring/landingpage/templates/index.html.j2
+++ b/roles/monitoring/landingpage/templates/index.html.j2
@@ -8,9 +8,15 @@
<div style="text-align:center; margin-left:auto; margin-right:auto;">
<h1>{{ monitoring_landingpage_title }}</h1>
<ul style="list-style-type: none;">
+{% if 'prometheus' in monitoring_landingpage_services %}
<li><a target='_blank' href='/prometheus/'>Prometheus</a></li>
+{% endif %}
+{% if 'alertmanager' in monitoring_landingpage_services %}
<li><a target='_blank' href='/alertmanager/'>Prometheus Alertmanager</a></li>
+{% endif %}
+{% if 'grafana' in monitoring_landingpage_services %}
<li><a target='_blank' href='/grafana/'>Grafana</a></li>
+{% endif %}
</ul>
</div>
</body>