From 66d14910887fddb4c0f016b2c310bdb476fab13e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20-=20Le=20Filament?= <theo@le-filament.com> Date: Wed, 7 Jun 2023 17:07:04 +0200 Subject: [PATCH] change(config): follow update One dict to rule them all --- templates/templates.cfg.j2 | 4 ++-- templates/vps.cfg.j2 | 29 ++++++----------------------- 2 files changed, 8 insertions(+), 25 deletions(-) diff --git a/templates/templates.cfg.j2 b/templates/templates.cfg.j2 index a02929a..2c36c35 100644 --- a/templates/templates.cfg.j2 +++ b/templates/templates.cfg.j2 @@ -90,7 +90,7 @@ define host{ define servicegroup{ servicegroup_name web-services alias Services Web - members {% for host in groups['odoo_server'] | sort %}{{ host }},Odoo {{ hostvars[host].odoo_url }},{% endfor %}{% for host in groups['owncloud_server'] | sort %}{{ host }},OwnCloud {{ hostvars[host].cloud_url }},{% endfor %}{% for host in groups['docker_odoo'] | sort %}{% if hostvars[host].odoo_prod is defined %}{{ host }},Odoo Server {{ hostvars[host].odoo_prod.url }},{% endif %}{% for instance in hostvars[host].odoo_nonprod_instances | default([]) %}{{ host }},{{ instance.name }} Server {{ instance['url'] }},{% endfor %}{% endfor %}{% for host in groups['docker_owncloud'] | union(groups['docker_nextcloud']) | sort %}{{ host }},Cloud Server {{ hostvars[host].cloud_url }},{% if hostvars[host].cloud_onlyoffice is defined %}{{ host }},OnlyOffice Server {{ hostvars[host].cloud_onlyoffice_url }},{% endif %}{% endfor %}{% for host in groups['docker_auth'] | sort %}{% if loop.index == loop.length %}{{ host }},PhpLdapAdmin {{ hostvars[host].ldap_url }},{{ host }},SSO Server {{ hostvars[host].sso_url }}{% else %}{{ host }},PhpLdapAdmin {{ hostvars[host].ldap_url }},{{ host }},SSO Server {{ hostvars[host].sso_url }},{% endif %}{% endfor %} + members {% for host in groups['odoo_server'] | sort %}{{ host }},Odoo {{ hostvars[host].odoo_url }},{% endfor %}{% for host in groups['owncloud_server'] | sort %}{{ host }},OwnCloud {{ hostvars[host].cloud_url }},{% endfor %}{% for host in groups['docker_odoo'] | sort %}{% for name, values in hostvars[host].odoo_instances.items() | default([]) %}{{ host }},{{ name }} server {{ values.url }},{% endfor %}{% endfor %}{% for host in groups['docker_owncloud'] | union(groups['docker_nextcloud']) | sort %}{{ host }},Cloud Server {{ hostvars[host].cloud_url }},{% if hostvars[host].cloud_onlyoffice is defined %}{{ host }},OnlyOffice Server {{ hostvars[host].cloud_onlyoffice_url }},{% endif %}{% endfor %}{% for host in groups['docker_auth'] | sort %}{% if loop.index == loop.length %}{{ host }},PhpLdapAdmin {{ hostvars[host].ldap_url }},{{ host }},SSO Server {{ hostvars[host].sso_url }}{% else %}{{ host }},PhpLdapAdmin {{ hostvars[host].ldap_url }},{{ host }},SSO Server {{ hostvars[host].sso_url }},{% endif %}{% endfor %} } @@ -157,7 +157,7 @@ define servicegroup{ define servicegroup{ servicegroup_name docker_odoo alias Odoo Dockers - members {% for host in groups['docker_odoo'] | sort %}{% if hostvars[host].odoo_prod is defined and host != 'Filament_Odoo' %}{{ host }},Docker Odoo,{% endif %}{% for instance in hostvars[host].odoo_nonprod_instances | default([]) %}{{ host }},Docker {{ instance.name }},{% endfor %}{% if hostvars[host].restrict_internet_access and hostvars[host].whitelisted_urls is defined %}{{ host }},Docker Odoo Whitelists,{% endif %}{% endfor %}Filament_Odoo,Docker Odoo + members {% for host in groups['docker_odoo'] | sort %}{% if host != 'Filament_Odoo' %}{% for name in hostvars[host].odoo_instances.keys() | default([]) %}{{ host }},Docker {{ name }},{% endfor %}{% endif %}{% if hostvars[host].restrict_internet_access and hostvars[host].whitelisted_urls is defined %}{{ host }},Docker Odoo Whitelists,{% endif %}{% endfor %}Filament_Odoo,Docker Odoo } define servicegroup{ diff --git a/templates/vps.cfg.j2 b/templates/vps.cfg.j2 index bb5ffb2..10faab5 100644 --- a/templates/vps.cfg.j2 +++ b/templates/vps.cfg.j2 @@ -324,39 +324,22 @@ define service{ check_command check_nrpe!check_docker_whitelists } -{% endif %} -{% if hostvars[host].odoo_prod is defined %} -define service{ - use generic-service - host_name {{ host }} - service_description Odoo Server {{ hostvars[host].odoo_prod.url }} - check_command check_https!'{{ hostvars[host].odoo_prod.url }}'!/web/login - } - -# Docker Odoo -define service{ - use generic-service,graphed-service - host_name {{ host }} - service_description Docker Odoo - check_command check_nrpe!check_docker_odoo - } - {% endif %} -{% for instance in hostvars[host].odoo_nonprod_instances | default([]) %} +{% for name, values in hostvars[host].odoo_instances.items() | default([]) %} define service{ use generic-service host_name {{ host }} - service_description {{ instance.name }} Server {{ instance['url'] }} - check_command check_https!'{{ instance['url'] }}'!/web/login + service_description {{ name }} server {{ values.url }} + check_command check_https!'{{ values.url }}'!/web/login } -# Docker Odoo non prod instance +# Docker {{ name }} instance define service{ use generic-service,graphed-service host_name {{ host }} - service_description Docker {{ instance.name }} - check_command check_nrpe!check_docker_{{ instance.name }} + service_description Docker {{ name }} + check_command check_nrpe!check_docker_{{ name }} } {% endfor %} -- GitLab