Set-OPS-Public/roles
Daniel Allaire 6120e6f006 sondes : quatorze, une par role, derivees en objets Icinga
boites (dovecot) · cache-apt (artefacts) · certificat (client_pki, 14/14)
collaboration (nextcloud) · collecte (prometheus) · file-courriel (postfix)
forge (forgejo) · identite (keycloak) · ingestion (loki) · moteur (icinga)
resolution (resolveur) · runner (serveur_ops) · tableaux (grafana)
voute (ops_tenant) — toutes vertes, sans une ligne ecrite dans Icinga.

DEUX PRINCIPES QUE LA PREMIERE SONDE A IMPOSES.
Une sonde doit pouvoir etre mise en defaut PAR PARAMETRE : cible et seuils
sont des variables du role, on prouve le rouge avec un port ferme ou un
seuil impossible, sans rien casser. Et la sonde vit LA OU VIT LA VERITE :
« ce noeud est-il collecte ? » appartient a prometheus, pas au client —
une seule y voit les N noeuds, et surtout elle voit le cas SILENCIEUX.

ON DEMANDE AU SERVICE CE QU IL PENSE DE LUI-MEME quand il sait le dire
(healthz, /ready, status.php, decouverte OIDC). Quand il ne sait pas, on
va chercher la verite de terrain : « moteur » ne regarde ni le service ni
le port, il demande a la base depuis combien de temps elle n a pas ete
rafraichie — la lecon des sauvegardes appliquee a la supervision.

QUATRE FOIS J AI ECRIT LA SONDE AVANT DE MESURER, QUATRE FOIS ELLE A EU
TORT. La forge : port et chemin des depots inventes, elle ecoute en 3000
derriere l edge et n a legitimement aucun depot. Loki : « panne
persistante » conclue sur deux lectures a quelques secondes d intervalle
juste apres un redemarrage — deux mesures rapprochees ne distinguent pas
un etat d un instant. Keycloak : vise en 8443, il ecoute en 8080. Le
runner : git en root refuse un depot d un autre proprietaire. A chaque
fois le remede est le meme — lire la verite du role, ne pas la supposer.

Et le meme piege Jinja qu avec client_sante : ${#tableau[@]} contient {#.
Le remede etait deja au depot ; je l ai reecrit au lieu de le chercher.

RESTE : client_smtp, client_artefacts, client_journal, icingaweb2 et
ops_site. Ce sont des chemins de report, dont la panne se voit deja par le
silence des sondes qu ils portent.

make prouver : CONFORME, 64 OK, 0 echec, 0 saute (P64 : 14 sondes).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
2026-09-10 03:00:21 -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 sondes : le contrat ETAIT celui de Nagios, sans le savoir 2026-09-09 22:14:30 -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 sondes : les six premieres, et le patron qui les rend eprouvables 2026-09-10 02:48:55 -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 icinga : l hote de supervision saturait par sa propre demonstration 2026-09-09 22:34:32 -04:00
serveur_dovecot sondes : quatorze, une par role, derivees en objets Icinga 2026-09-10 03:00:21 -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 sondes : les six premieres, et le patron qui les rend eprouvables 2026-09-10 02:48:55 -04:00
serveur_grafana sondes : les six premieres, et le patron qui les rend eprouvables 2026-09-10 02:48:55 -04:00
serveur_icinga sondes : quatorze, une par role, derivees en objets Icinga 2026-09-10 03:00:21 -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 sondes : quatorze, une par role, derivees en objets Icinga 2026-09-10 03:00:21 -04:00
serveur_loki sondes : les six premieres, et le patron qui les rend eprouvables 2026-09-10 02:48:55 -04:00
serveur_nextcloud sondes : quatorze, une par role, derivees en objets Icinga 2026-09-10 03:00:21 -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 sondes : quatorze, une par role, derivees en objets Icinga 2026-09-10 03:00:21 -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 sondes : quatorze, une par role, derivees en objets Icinga 2026-09-10 03:00:21 -04:00
serveur_postfix sondes : quatorze, une par role, derivees en objets Icinga 2026-09-10 03:00:21 -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 sondes : les six premieres, et le patron qui les rend eprouvables 2026-09-10 02:48:55 -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 sondes : les six premieres, et le patron qui les rend eprouvables 2026-09-10 02:48:55 -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