Set-OPS-Public/roles
Daniel Allaire 0dd57ba995 artefacts : deux filets — un cache mort ne doit plus rendre un tenant irreparable
CE CACHE EST UN MAILLON DONT DEPEND SA PROPRE RECONSTRUCTION. Toute la flotte y
prend ses paquets. S il pointe vers un amont mort, apt echoue sur les quinze
machines, donc le socle echoue, donc le deploiement n atteint jamais la couche qui
poserait le bon amont. LE CORRECTIF SE RETROUVE DANS LA COUCHE QUE LA PANNE EMPECHE
D ATTEINDRE, et il faut une main pour en sortir.

C est arrive le 2026-08-31 : l amont pointait sur le cache de patient 0, eteint la
veille pour liberer de la RAM. apt rendait « 503 Connection timeout » EN CITANT
L ADRESSE DU CACHE LOCAL, jamais celle de l amont manquant — la panne accusait le
maillon visible.

DEUX FILETS, SYMETRIQUES.

serveur_artefacts sonde l amont AVANT d ecrire, et refuse s il est muet : mieux
vaut un cache qui garde sa configuration precedente qu un cache qu on vient de
rendre inutilisable pour toute la flotte.

client_artefacts sonde la source AVANT de detourner apt vers elle. Ce fichier
ECRASE le plancher d amorcage pose par le socle — le poser sur un cache mort prive
la machine du cache du SITE, qui lui fonctionnait. En refusant, le plancher reste :
la flotte est degradee mais debout, et REPARABLE PAR UN DEPLOIEMENT.

`ignore_errors` ET NON `failed_when: false` — la difference est toute la garde.
failed_when: false REECRIT le verdict : la tache n est plus jamais failed, donc
`is not failed` est toujours vrai, donc l assertion ne peut pas tirer. Ecrite ainsi,
ma premiere version a declare « joignable » un amont mesure MUET la seconde d avant.
Une garde qui ne peut pas echouer ne garde rien.

Deux controles verifies sur la machine : amont eteint -> refuse ; amont reel -> pose.

make verifier : vert. make prouver : CONFORME, 55 OK, 0 echec, 0 saute.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019f91zs9SDdwSzL2CVei6on
2026-08-31 18:31: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 artefacts : deux filets — un cache mort ne doit plus rendre un tenant irreparable 2026-08-31 18:31:21 -04:00
client_backup reconstruction from-zero : sept defauts, tous invisibles sur une flotte debout 2026-08-13 03:36:56 -04:00
client_journal site : quatre zones d'autorite, et l'ordre inscrit dans les integrations 2026-08-25 17:31:07 -04:00
client_metrique site : quatre zones d'autorite, et l'ordre inscrit dans les integrations 2026-08-25 17:31:07 -04:00
client_pki site : le runner travaille, et le genome remonte chez lui 2026-08-26 08:52:37 -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_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
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
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 reconstruction d'un trait : 43 groupes, 0 echec, 37 minutes 2026-08-13 08:49:12 -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 : verifier l'etat du compte, ne pas faire confiance au drapeau 2026-08-25 13:33:10 -04:00
serveur_grafana keycloak : un jeton frais la ou on s'en sert ; grafana : un echec lisible 2026-08-10 20:19:50 -04:00
serveur_icinga reconstruction d'un trait : 43 groupes, 0 echec, 37 minutes 2026-08-13 08:49:12 -04:00
serveur_icingaweb2 icingaweb2 : habilitation par groupe d'annuaire, plus par liste d'uid 2026-08-07 19:54:41 -04:00
serveur_keycloak keycloak : l'ancre de confiance existe — publiee hors du canal de livraison 2026-08-11 02:06:02 -04:00
serveur_loki get_url : plus aucun sans garde — la dependance externe tombe a zero 2026-08-09 14:05:25 -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 flux + postfix : un port symbolique dans le pare-feu, un rechargement qui n applique rien 2026-08-30 13:00:54 -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 dns : quatre zones inverses pour le site, et rien de plus 2026-08-25 20:58:50 -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