Set-OPS-Public/roles/serveur_resolveur_site/defaults/main.yml
Daniel Allaire aac74f6043 supervision : les huit derniers roles, et deux defauts que l epreuve a trouves
Les 33 roles serveur_* declarent maintenant une sonde. Les huit qui manquaient
sont ceux dont la verite ne ressemble pas a « ce service repond-il ».

Quatre marqueurs du site : ce que tasks/main.yml verifie UNE FOIS au deploiement
cesse d etre vrai sans que rien ne tombe. La racine du cache se retrouve chainee,
la forge du genome repond en n ayant plus rien dedans, un locataire n est plus
admis a resoudre, l isolation d un depot glisse.

serveur_ops_site ne sert rien : il detient un pouvoir. La sonde verifie que la
carte est la, que la voute du site est chiffree et que sa cle est en 0600 — sans
lire le contenu d aucun des trois.

serveur_icingaweb2 surveille la vitrine de la supervision elle-meme : si la
console meurt, tout reste vert et l exploitant est aveugle.

DEFAUT 1 — quatre gabarits qu Ansible aurait refuse de rendre. Jinja lit le
{# de ${#tableau[@]} comme un debut de commentaire. Le depot connaissait le
remede et l appliquait la ou quelqu un s etait fait prendre, nulle part ailleurs.
P76 rend desormais chaque gabarit de role, avec les delimiteurs qu Ansible en
tirerait — pas une recherche de motif.

DEFAUT 2 — la doctrine promettait 54 greffons et citait check_pgsql. La flotte a
monitoring-plugins-basic : 53, sans check_pgsql ni check_dns ni check_ldap. Le
paquet qui les porte traine samba et snmp sur chaque machine. Un greffon absent
sort en 127, qui n est pas un code Nagios.

21 controles negatifs sur les machines reelles du site. ansible-lint production
0/91, harnais 75 OK.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
2026-09-14 15:43:52 -04:00

25 lines
1.3 KiB
YAML

---
# LE RÉSOLVEUR DU SITE — le marqueur, pas l'installateur.
#
# `serveur_resolveur` pose Unbound et son ACL ; ce rôle dit que CE résolveur est celui que
# les écosystèmes du site interrogent pendant leur jeunesse, et déclare le flux qui le
# permet.
#
# La liste d'autorisation se dérive dans `scripts/site_inventaire.py`, qui connaît le plan
# du site ET le registre des tenants. On ne la redéclare pas ici : une seconde source
# finirait par diverger de la première, et la divergence se lirait « tout va bien ».
serveur_resolveur_site_port: "{{ serveur_resolveur_port | default(53) }}"
# LA SONDE « resolution-locataires ».
#
# LE NOM TEMOIN N'EST PAS UN NOM D'ICI. Demander un nom de la zone souveraine ne prouverait
# que l'autoritatif local ; c'est deja ce que fait la sonde `zones`. Un nom PUBLIC exerce
# le chemin entier — racine signee comprise — qui est exactement ce qu'un locataire vient
# chercher ici.
serveur_resolveur_site_sonde_nom: "deb.debian.org"
serveur_resolveur_site_sonde_config: "/etc/unbound/unbound.conf.d"
# L'ADRESSE OU LES LOCATAIRES FRAPPENT — pas 127.0.0.1, qui est deja couvert par la sonde
# `resolution` de `serveur_resolveur`. Une ecoute peut se deplacer sans que la boucle
# locale cesse de repondre.
serveur_resolveur_site_sonde_adresse: "{{ ansible_default_ipv4.address | default('127.0.0.1') }}"