Set-OPS-Public/roles
Daniel Allaire 90228cb55e supervision : la sonde se declare dans le role, comme le flux
LE CONSTAT. 39 roles declarent leurs flux, 32 leur empreinte, 32 leur
authentification — tous derives. Et 19 groupes sur 19 declaraient une
surveillance en prose que RIEN n executait ; Icinga en surveillait deux.
La carte disait ce qui etait surveille, et personne ne surveillait.

LE MECANISME. Un role declare ses sondes dans meta/supervision.yml et
depose lui-meme son script dans /usr/local/lib/setops/sondes/. Le porteur
client_sante les fait toutes tourner et pousse un resultat passif par
sonde, sans savoir ce qu elles mesurent. serveur_icinga derive les objets
Service ET le filtre de permission d API des memes declarations. Ajouter
une sonde ne demande de toucher ni au porteur ni a Icinga.

PREMIERE SONDE : client_pki/certificat. Heures restantes sur le certificat
reellement pose, chaine verifiee, et empreinte SERVIE comparee au disque
quand un service le consomme. 14/14 au tenant, 7/7 au site.

QUATRE OBSTACLES, ET TROIS SONT LA MEME LECON.

La sonde a rendu 14/14 en CRITIQUE sur une PKI saine : openssl verify
-CAfile racine ne trouve pas l intermediaire qui signe nos certificats.
step certificate verify, lui, repond VALIDE.

Deployee au site, elle a rendu 5/7 : le seuil d avertissement (12 h)
etait AU-DESSUS du point de renouvellement (8 h, le tiers restant). Elle
criait avant que le mecanisme ne soit cense agir. Seuils ramenes a 6 h et
3 h. Un seuil se DERIVE du moment ou le mecanisme surveille agit.

Une alarme toujours allumee ne vaut pas mieux qu une alarme jamais
allumee : elle apprend a ne plus regarder. Une sonde se prouve DEUX FOIS,
verte sur le sain et rouge sur le casse.

Le filtre d API etait ecrit avant la lecture des declarations : les
services auraient existe et Icinga aurait refuse leurs resultats.

Et mon controle negatif a casse un service reel : substituer le certificat
d hote a fait propager un cert sans sa clef vers node_exporter. Un controle
negatif se fait sur une COPIE.

P64 tient les deux bouts : declaree sans etre deposee, ou deposee sans
etre declaree. Trois controles negatifs rejoues.

make prouver : CONFORME, 64 OK, 0 echec, 0 saute.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
2026-09-09 21:45:49 -04:00
..
amorcage_acces identite : une declaration de politique de mot de passe, deux executants 2026-08-08 06:28:10 -04:00
apparmor Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00
auditd audit + timers : deux services en echec sur les quinze machines, muets depuis toujours 2026-08-31 16:16:13 -04:00
chrony Découplage instance : realm centralisé + vars génériques 2026-07-05 00:47:44 -04:00
client_artefacts reconstruction : quatre defauts que seule une flotte rasee pouvait montrer 2026-09-02 09:59:15 -04:00
client_backup sauvegarde : la verification suit la cle, pas le depot 2026-09-02 18:53:44 -04:00
client_journal paquets tiers : passer par le cache du controleur, plus par Internet 2026-09-05 08:22:14 -04:00
client_metrique metriques : le client installait un pilote IPMI qui echoue a chaque demarrage 2026-09-09 16:20:32 -04:00
client_pki supervision : la sonde se declare dans le role, comme le flux 2026-09-09 21:45:49 -04:00
client_resolveur site : quatre zones d'autorite, et l'ordre inscrit dans les integrations 2026-08-25 17:31:07 -04:00
client_sante supervision : la sonde se declare dans le role, comme le flux 2026-09-09 21:45:49 -04:00
client_smtp Reconstruction propre : orchestrateur ordonné, registre des flux + pare-feu 2026-07-07 03:08:09 -04:00
cloud_init site : le plancher survit au redemarrage, et la zone dit les vraies adresses 2026-08-25 20:31:01 -04:00
cloud_init_retrait D-85 : ce que le retrait de cloud-init NE ferme pas 2026-09-09 10:11:52 -04:00
common_packages audit + timers : deux services en echec sur les quinze machines, muets depuis toujours 2026-08-31 16:16:13 -04:00
core_dumps Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00
fail2ban_ssh Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00
hardening_packages Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00
hosts_statiques site : le plancher survit au redemarrage, et la zone dit les vraies adresses 2026-08-25 20:31:01 -04:00
journald Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00
motd Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00
nftables_baseline nftables : armer le pare-feu coupait la main qui l arme 2026-08-30 10:00:18 -04:00
paquets_tiers paquets tiers : passer par le cache du controleur, plus par Internet 2026-09-05 08:22:14 -04:00
qemu_guest_agent Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00
resoudre_annuaire annuaire : l'hote se derive du plan, il ne s'ecrit plus 2026-08-07 12:46:48 -04:00
resoudre_base deploiement : deux attentes de premier demarrage, et trois defauts leves 2026-08-07 09:30:48 -04:00
resoudre_idp resoudre_idp : le nom invente etait dans QUATRE roles 2026-08-07 15:33:32 -04:00
resoudre_politique_mdp identite : une declaration de politique de mot de passe, deux executants 2026-08-08 06:28:10 -04:00
serveur_artefacts artefacts : deux filets — un cache mort ne doit plus rendre un tenant irreparable 2026-08-31 18:31:21 -04:00
serveur_backup sauvegarde : l etat d un locataire quitte enfin sa propre flotte 2026-09-01 22:16:20 -04:00
serveur_backup_site supervision du site, et la panne qui dormait dans un mot 2026-09-02 17:34:01 -04:00
serveur_cache_site site : un ecosysteme complet — PKI, DNS, forge, cache, runner 2026-08-25 12:00:17 -04:00
serveur_collabora collabora : en natif, la derniere exception conteneurisee tombe 2026-08-24 16:23:35 -04:00
serveur_debian authentification : chaque rôle déclare sa position, gardé par P29 2026-08-03 17:05:43 -04:00
serveur_dovecot courriel : routage local par identifiant, et la livraison interne remise en marche 2026-08-08 09:42:45 -04:00
serveur_forge_site forge du site : le marqueur manquant — le genome n etait ouvert a personne 2026-08-28 16:15:42 -04:00
serveur_forgejo forgejo : laisser le premier demarrage finir avant de l interrompre 2026-09-02 22:27:38 -04:00
serveur_grafana paquets tiers : passer par le cache du controleur, plus par Internet 2026-09-05 08:22:14 -04:00
serveur_icinga supervision : la sonde se declare dans le role, comme le flux 2026-09-09 21:45:49 -04:00
serveur_icingaweb2 paquets tiers : passer par le cache du controleur, plus par Internet 2026-09-05 08:22:14 -04:00
serveur_keycloak documentation : la tournee des 74 documents, parce qu un balayage ne lit pas 2026-09-06 16:18:23 -04:00
serveur_loki paquets tiers : passer par le cache du controleur, plus par Internet 2026-09-05 08:22:14 -04:00
serveur_nextcloud nextcloud : epingle 34.0.2 (correctif amont) 2026-08-10 23:12:19 -04:00
serveur_nginx nginx : dimensionner les tampons d'en-tetes pour les sessions OIDC 2026-08-08 11:06:05 -04:00
serveur_oauth2_proxy artefacts : le controleur telecharge et pousse, la cible ne tire plus 2026-08-10 20:58:58 -04:00
serveur_openldap identite : une declaration de politique de mot de passe, deux executants 2026-08-08 06:28:10 -04:00
serveur_ops roues : pip par le meme chemin que les collections — le controleur telecharge, la cible n installe rien du dehors 2026-08-28 15:37:09 -04:00
serveur_ops_site runner : armer un runner est un acte declare, jamais un defaut 2026-08-28 14:46:29 -04:00
serveur_ops_tenant runner : armer un runner est un acte declare, jamais un defaut 2026-08-28 14:46:29 -04:00
serveur_postfix supervision du site, et la panne qui dormait dans un mot 2026-09-02 17:34:01 -04:00
serveur_postgresql authentification : chaque rôle déclare sa position, gardé par P29 2026-08-03 17:05:43 -04:00
serveur_powerdns dns : quatre zones inverses pour le site, et rien de plus 2026-08-25 20:58:50 -04:00
serveur_prometheus idempotence : Prometheus trie ses cibles, Forgejo conserve son secret JWT 2026-08-09 14:44:03 -04:00
serveur_redis authentification : chaque rôle déclare sa position, gardé par P29 2026-08-03 17:05:43 -04:00
serveur_resolveur reconstruction : quatre defauts que seule une flotte rasee pouvait montrer 2026-09-02 09:59:15 -04:00
serveur_resolveur_site resolveur du site : le troisieme service prete pendant la jeunesse d un tenant 2026-08-30 12:37:33 -04:00
serveur_rspamd authentification : chaque rôle déclare sa position, gardé par P29 2026-08-03 17:05:43 -04:00
serveur_step_ca step-ca : la cle de signature versionnee — plus aucun appel sortant pour l obtenir 2026-08-30 12:13:39 -04:00
serveur_web_dorsal empreintes muettes, courses de premier demarrage, collision de noms 2026-08-07 16:22:38 -04:00
serveur_web_frontal empreintes muettes, courses de premier demarrage, collision de noms 2026-08-07 16:22:38 -04:00
ssh_baseline ssh : retirer les drop-ins d'une nomenclature abandonnee 2026-08-25 03:40:24 -04:00
ssh_hardening ssh : retirer les drop-ins d'une nomenclature abandonnee 2026-08-25 03:40:24 -04:00
sudo_ansible Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00
sysctl_hardening Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00
systemd_ssh_auto Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00
template_cleanup gabarit recapture : copie de travail preparee, nettoyee, convertie 2026-08-09 11:29:51 -04:00
unattended_upgrades Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00