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
39 lines
2.3 KiB
YAML
39 lines
2.3 KiB
YAML
---
|
|
# LE CACHE D'ARTEFACTS DU SITE — nomme `cache_site` et non `artefacts_site`.
|
|
#
|
|
# POURQUOI CE NOM COURT (2026-08-24). OPNsense refuse un nom d'alias de 32 caracteres ou
|
|
# plus, et le schema `SETOPS_<tenant>_<ROLE>` ne laisse que 17 caracteres au role :
|
|
#
|
|
# SETOPS_PATI29_SERVEUR_ARTEFACTS_SITE 36 refuse a l'application
|
|
# SETOPS_PATI29_SRV_ARTEFACTS_SITE 32 refuse encore, d'un caractere
|
|
# SETOPS_PATI29_SRV_CACHE_SITE 28 passe
|
|
#
|
|
# La contrainte n'etait ecrite nulle part et s'est manifestee a l'APPLICATION, pas au
|
|
# devis. Elle l'est desormais, et le devis REFUSE plutot que de promettre un objet que la
|
|
# cible rejettera. — celui que les autres écosystèmes prennent comme amont.
|
|
#
|
|
# Même patron que `serveur_ops_site` : le rôle n'installe rien de plus, il **attribue une
|
|
# responsabilité** et la rend lisible dans le plan. `serveur_artefacts` fait le travail ;
|
|
# celui-ci déclare que ce cache-là sert au-delà de son propre écosystème.
|
|
#
|
|
# POURQUOI DEUX RÔLES PLUTÔT QU'UN DRAPEAU. Les flux se déclarent dans `meta/flux.yml`,
|
|
# qui est STATIQUE : un rôle unique aurait dû déclarer l'ingress inter-tenant pour TOUS
|
|
# les caches. Le devis obtenu le montrait — un maillage complet où chaque cache acceptait
|
|
# chaque autre, alors qu'un seul doit être joignable.
|
|
#
|
|
# QUI PEUT LE DÉCLARER : l'écosystème de l'hébergeur, celui qui exploite la fabric. Un
|
|
# tenant ordinaire qui le déclarerait s'offrirait à servir ses voisins sans y être invité.
|
|
#
|
|
# Le cache du site va DIRECTEMENT chez Debian : il est le bout de la chaîne.
|
|
serveur_cache_site_amont_attendu: ""
|
|
|
|
# LA SONDE « cache-site-racine » : ce qu'elle demande au cache pour prouver qu'il remplit.
|
|
#
|
|
# UN INDEX, PAS UN PAQUET. Un `Release` pese 135 ko et change tous les jours — le cache le
|
|
# traite comme volatil, donc il represente vraiment le chemin de sortie. Un paquet, lui,
|
|
# serait servi depuis le disque pour toujours et ne prouverait rien.
|
|
#
|
|
# PAR LE MODE PASSE-PLAT (`/<hote>/<chemin>`), et pas par un `Remap` : les remaps sont
|
|
# locaux a chaque installation, le passe-plat est la seule forme qui vaille partout.
|
|
serveur_cache_site_sonde_index: "/deb.debian.org/debian/dists/{{ ansible_distribution_release | default('trixie') }}/Release"
|
|
serveur_cache_site_sonde_config: "/etc/apt-cacher-ng"
|