Le role pose /etc/cloud/templates/hosts.debian.tmpl - le gabarit maitre dont cloud-init regenere /etc/hosts au demarrage. Or D-85 fait retirer cloud-init par serveur_durci, et le repertoire part avec lui. L echec n avait aucun sens : ce gabarit ne sert qu a survivre a une reecriture qui n a plus lieu. Plus de cloud-init, plus de reecriture, le plancher tient tout seul - c est le resultat recherche par D-85. CE QUE CA A COUTE. _amorcer-socle monte infra-pki-01 et infra-dns-01 en entier d abord, durcissement compris. La tache echouait au second passage, l hote sortait du play, et TOUT ce qui suivait n etait jamais pose - dont icinga-ca.crt. Leur porteur de sante tournait ensuite normalement et chaque rapport echouait sur curl: (77), en silence. Un echec bruyant au bon endroit avait produit une panne muette ailleurs. Et sauter la tache seule aurait deplace l echec d un cran : la garde qui suit compare le nombre d entrees du plancher a celui du gabarit, donc 21 contre 0. Elle accuserait une divergence la ou il ne reste qu un fichier. Une garde qui survit a ce qu elle gardait ne mesure plus rien : elle invente. Les trois taches suivent desormais la meme condition. Verifie sur les deux machines memes qui echouaient : failed=0. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q |
||
|---|---|---|
| .. | ||
| defaults | ||
| tasks | ||
| templates | ||
| README.md | ||
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(templatehosts.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 unexposedans 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.ymletdomaines.ymlsur le nœud de contrôle (delegate_to: localhost,statd'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_postfixrecopie ce/etc/hostsdans/var/spool/postfix/etc/pour que le MTA bénéficie du même plancher.
Prérequis
domaine_internedéfini ;setops_plan_dirpour les alias d'exposition.- Filtre
expositions_des_applications(filter_plugins/).