Set-OPS-Public/roles/hosts_statiques
Daniel Allaire c0f610be33 patient 0 efface : l index 29 est libere, et le site n ouvre plus rien a 10.29.0.0/16
Ses machines n existaient plus depuis le 2026-09-06 (D-83), mais son plan
restait sur disque : la federation lui reservait l index 29 et quatre machines
du site lui ouvraient SSH, apt, DNS et HTTPS. Les commentaires et documents
vivants gardent leur lecon sans le nommer ; les archives restent telles quelles.

Pas encore sur le reseau : les regles regenerees attendent le runner du site.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 21:55:27 -04:00
..
defaults patient 0 efface : l index 29 est libere, et le site n ouvre plus rien a 10.29.0.0/16 2026-09-27 21:55:27 -04:00
tasks site-deployer-tout : l orchestration existait, rien ne la lancait 2026-09-14 11:02:37 -04:00
templates site : le plancher survit au redemarrage, et la zone dit les vraies adresses 2026-08-25 20:31:01 -04:00
README.md resolveur : un par tenant, et non plus un par machine 2026-08-24 16:59:34 -04:00

hosts_statiques

Plancher de résolution : génère /etc/hosts depuis l'inventaire, pour que tout l'écosystème se résolve par nom même DNS éteint.

Rôle

  • Génère /etc/hosts (template hosts.j2) à partir des hôtes actifs de l'inventaire : IP, nom court, FQDN interne.
  • Alias d'exposition (optionnel, actif par défaut) : pose <IP de l'edge> <FQDN exposé> pour chaque application qui déclare un expose dans le plan — la résolution des services publiés ne dépend donc pas non plus du DNS.

Pourquoi

C'est ce qui rend l'ordre de reconstruction possible : appliqué dans la couche socle (via playbooks/groupes/serveur_debian.yml), il donne la résolution par nom avant que serveur_powerdns n'existe. Sans lui, tout service référençant un FQDN interne (resoudre_base, resoudre_annuaire, certificats step_ca…) échouerait au premier déploiement d'une instance neuve.

Les trois couches de résolution : ce plancher → PowerDNS autoritatif → Unbound local (client_resolveur, opt-in). Cf. docs/dns-interne.md.

Variables

Variable Défaut Rôle
hosts_statiques_actif true Génère (ou non) /etc/hosts
hosts_statiques_domaine {{ domaine_interne }} Suffixe des FQDN
hosts_statiques_publier_expositions true Ajoute les alias expose → edge
hosts_statiques_expositions [] Calculé par le rôle (filtre expositions_des_applications)

Notes / limites

  • Les alias d'exposition sont best-effort : le rôle lit applications.yml et domaines.yml sur le nœud de contrôle (delegate_to: localhost, stat d'abord). Plan absent (ex. préparation du golden template) → alias simplement omis, pas d'échec.
  • Le fichier est entièrement géré par Ansible : toute ligne ajoutée à la main sur un nœud est écrasée au prochain passage. C'est voulu (source unique = le plan).
  • Postfix tourne en chroot : serveur_postfix recopie ce /etc/hosts dans /var/spool/postfix/etc/ pour que le MTA bénéficie du même plancher.

Prérequis

  • domaine_interne défini ; setops_plan_dir pour les alias d'exposition.
  • Filtre expositions_des_applications (filter_plugins/).