From 5108a6c04d95cb27605563baeff492a81a9cfcbc Mon Sep 17 00:00:00 2001 From: Daniel Allaire Date: Sun, 5 Jul 2026 00:40:57 -0400 Subject: [PATCH] =?UTF-8?q?R=C3=A9f=C3=A9rences=20par=20FQDN=20partout=20:?= =?UTF-8?q?=20fin=20des=20IP=20cod=C3=A9es=20en=20dur?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Décision d'archi : FQDN pour toute référence inter-services (non ambigu en fédération — data-sql-01 existe chez plusieurs tenants — + nom canonique TLS). - resoudre_base : db_host renvoie le FQDN (hote.domaine_interne) → propagé à keycloak/forgejo/icinga (ils en dérivent tous). Résolu par le plancher. - client_journal : loki_url dérivé du groupe serveur_loki en FQDN (fin du 10.0.14.11 périmé). - nettoyage des defaults db_host IP morts (10.0.13.11, écrasés par resoudre_base). Aucune IP littérale ne subsiste dans les defaults des rôles. verify-full OK (SAN FQDN). S'applique au prochain déploiement. Co-Authored-By: Claude Opus 4.8 --- roles/client_journal/defaults/main.yml | 3 ++- roles/resoudre_base/tasks/main.yml | 6 ++++-- roles/serveur_forgejo/defaults/main.yml | 2 +- roles/serveur_icinga/defaults/main.yml | 2 +- roles/serveur_keycloak/defaults/main.yml | 2 +- 5 files changed, 9 insertions(+), 6 deletions(-) diff --git a/roles/client_journal/defaults/main.yml b/roles/client_journal/defaults/main.yml index 8ee303c..8f78814 100644 --- a/roles/client_journal/defaults/main.yml +++ b/roles/client_journal/defaults/main.yml @@ -7,7 +7,8 @@ client_journal_utilisateur: "alloy" client_journal_config: "/etc/alloy/config.alloy" # Point de collecte Loki (obs-01, serveur_loki, VLAN 14). -client_journal_loki_url: "http://10.0.14.11:3100/loki/api/v1/push" +# Hôte Loki dérivé du groupe serveur_loki (FQDN via le plancher) ; override par instance au besoin. +client_journal_loki_url: "http://{{ (groups.get('serveur_loki') or ['obs-01']) | first }}.{{ domaine_interne }}:3100/loki/api/v1/push" # Depot apt officiel Grafana (partage avec serveur_loki / serveur_grafana). client_journal_depot_cle_url: "https://apt.grafana.com/gpg-full.key" diff --git a/roles/resoudre_base/tasks/main.yml b/roles/resoudre_base/tasks/main.yml index e108b3e..72b7f59 100644 --- a/roles/resoudre_base/tasks/main.yml +++ b/roles/resoudre_base/tasks/main.yml @@ -35,7 +35,9 @@ resoudre_base_db_password: "{{ lookup('vars', resoudre_base_entree.secret) }}" no_log: true -- name: Résoudre l'hôte et le port du serveur de base (registre) +- name: Résoudre l'hôte (FQDN) et le port du serveur de base (registre) ansible.builtin.set_fact: - resoudre_base_db_host: "{{ (serveurs_bd | default({}))[resoudre_base_entree.serveur].hote }}" + # FQDN (pas le nom court) : non ambigu en fédération (data-sql-01 existe chez + # plusieurs tenants) + nom canonique pour la vérif TLS. Résolu par le plancher /etc/hosts. + resoudre_base_db_host: "{{ (serveurs_bd | default({}))[resoudre_base_entree.serveur].hote }}.{{ domaine_interne }}" resoudre_base_db_port: "{{ (serveurs_bd | default({}))[resoudre_base_entree.serveur].port | default(5432) }}" diff --git a/roles/serveur_forgejo/defaults/main.yml b/roles/serveur_forgejo/defaults/main.yml index 1f5b521..fca153a 100644 --- a/roles/serveur_forgejo/defaults/main.yml +++ b/roles/serveur_forgejo/defaults/main.yml @@ -27,7 +27,7 @@ serveur_forgejo_http_port: 3000 # Base de donnees : resolue depuis le registre par le groupe consommateur. serveur_forgejo_groupe: "serveur_forgejo" -serveur_forgejo_db_host: "10.0.13.11" # data-01 +serveur_forgejo_db_host: "" # dérivé (FQDN) par resoudre_base au déploiement # Relais courriel. serveur_forgejo_smtp: "infra-mail-01.{{ domaine_interne }}" diff --git a/roles/serveur_icinga/defaults/main.yml b/roles/serveur_icinga/defaults/main.yml index 724e1f8..4918093 100644 --- a/roles/serveur_icinga/defaults/main.yml +++ b/roles/serveur_icinga/defaults/main.yml @@ -18,7 +18,7 @@ serveur_icinga_depot_source: >- # Base Icinga DB : resolue depuis le registre par le groupe consommateur. serveur_icinga_groupe: "serveur_icinga" -serveur_icinga_db_host: "10.0.13.11" # data-01 (serveur_postgresql) +serveur_icinga_db_host: "" # dérivé (FQDN) par resoudre_base au déploiement # Redis dedie a Icinga DB (paquet icingadb-redis). serveur_icinga_redis_host: "localhost" diff --git a/roles/serveur_keycloak/defaults/main.yml b/roles/serveur_keycloak/defaults/main.yml index 2a4caed..aeb8cfd 100644 --- a/roles/serveur_keycloak/defaults/main.yml +++ b/roles/serveur_keycloak/defaults/main.yml @@ -14,7 +14,7 @@ serveur_keycloak_hostname: "keycloak.{{ domaine_interne }}" # Base de donnees : resolue depuis le registre par le groupe consommateur. serveur_keycloak_groupe: "serveur_keycloak" # IP interne du serveur PostgreSQL (data-01, cf. nomenclature). -serveur_keycloak_db_host: "10.0.13.11" +serveur_keycloak_db_host: "" # dérivé (FQDN) par resoudre_base au déploiement # Secrets (Ansible Vault) — obligatoires. serveur_keycloak_admin_user: "admin"