# 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 ` ` 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_unbound`, 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/`).