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
36 lines
1.9 KiB
YAML
36 lines
1.9 KiB
YAML
---
|
|
# Supervision derivee du role. Voir docs/supervision-conception.md.
|
|
#
|
|
# CE ROLE NE SERT RIEN. Il n'ecoute sur aucun port, ne repond a personne, et une sonde de
|
|
# disponibilite n'aurait ici aucun sens. Ce qu'il detient, c'est un POUVOIR : celui de
|
|
# creer et de detruire des VM sur toute la fabric — le plus dangereux du systeme.
|
|
#
|
|
# UN POUVOIR NE TOMBE PAS EN PANNE : IL S'EVAPORE. Les trois pieces qui le composent
|
|
# peuvent disparaitre sans qu'aucun service ne bronche, et on ne s'en apercoit qu'au
|
|
# moment ou l'on veut materialiser — c'est-a-dire quand un ecosysteme doit naitre, ou
|
|
# quand il faut le reconstruire.
|
|
#
|
|
# 1. LA CARTE DE LA FABRIC (`underlay.yml`). Sans elle, le runner ne sait pas sur quoi
|
|
# il materialise. `tasks/main.yml` refuse de deployer sans — mais rien ne la surveille
|
|
# apres.
|
|
#
|
|
# 2. LA VOUTE DU SITE, ET SON CHIFFREMENT. Elle porte les justificatifs du cluster. Ce
|
|
# role verifie deja a la pose que l'en-tete `$ANSIBLE_VAULT` est la, parce qu'une
|
|
# copie mal faite la dechiffre en transit. Un fichier dechiffre ne fait echouer
|
|
# AUCUN deploiement : Ansible le lit tres bien. Il expose simplement tout.
|
|
#
|
|
# 3. LA CLE QUI L'OUVRE, et ses permissions.
|
|
#
|
|
# LA SONDE NE LIT JAMAIS LE CONTENU DE CES FICHIERS. Elle regarde un en-tete, un
|
|
# proprietaire et un mode — rien d'autre. Le secret reste un pointeur qu'on ne suit pas.
|
|
#
|
|
# TTL de 5400 s pour un porteur qui passe aux 15 min : trois passages manques avant la
|
|
# peremption. Le silence alerte autant que l'echec.
|
|
sondes:
|
|
- nom: pouvoir-materialiser
|
|
ttl: 5400
|
|
raison: 'Le runner du site peut-il encore materialiser, et son secret est-il toujours
|
|
protege ? La carte de la fabric, la voute du site et sa cle ne font tomber aucun
|
|
service en disparaissant — on s''en apercoit quand un ecosysteme doit naitre. Et une
|
|
voute dechiffree en transit ne fait echouer aucun deploiement : Ansible la lit tres
|
|
bien, elle expose simplement tout.'
|