From bc98352d3e331003db625be96139b3c1f95f63b2 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Wed, 9 Aug 2023 14:38:23 +0200 Subject: nginx/vhost: major change in certifcate/tls handling (WIP) --- roles/monitoring/landingpage/defaults/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'roles/monitoring/landingpage/defaults/main.yml') diff --git a/roles/monitoring/landingpage/defaults/main.yml b/roles/monitoring/landingpage/defaults/main.yml index ad2a3895..88e1b133 100644 --- a/roles/monitoring/landingpage/defaults/main.yml +++ b/roles/monitoring/landingpage/defaults/main.yml @@ -2,6 +2,7 @@ # monitoring_landingpage_hostnames: # - "mon.example.com" -monitoring_landingpage_acme: no +# monitoring_landingpage_tls: +# certificate_provider: "{{ acme_client }}" #monitoring_landingpage_title: "Example Monitoring Host" -- cgit v1.2.3 From 9d4f4538ef6a1cc564befa7d1857426c1343f6a7 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Thu, 10 Aug 2023 15:12:41 +0200 Subject: monitoring/landingpage: fix tls config and make config changable --- roles/monitoring/landingpage/defaults/main.yml | 5 ++++ roles/monitoring/landingpage/tasks/main.yml | 28 ++++++++++++++++++---- .../monitoring/landingpage/templates/index.html.j2 | 6 +++++ 3 files changed, 34 insertions(+), 5 deletions(-) (limited to 'roles/monitoring/landingpage/defaults/main.yml') 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 @@

{{ monitoring_landingpage_title }}

    +{% if 'prometheus' in monitoring_landingpage_services %}
  • Prometheus
  • +{% endif %} +{% if 'alertmanager' in monitoring_landingpage_services %}
  • Prometheus Alertmanager
  • +{% endif %} +{% if 'grafana' in monitoring_landingpage_services %}
  • Grafana
  • +{% endif %}
-- cgit v1.2.3