journal : Technolibre reconstruit avec des depots prives, chaque runner ne lit que le sien

Bascule par make forge-cles, mesuree ETANCHE. Reconstruction complete de Technolibre :
depot apporte en colis a l'insemination, tire en SSH apres l'armement, flotte remontee,
temoins d'etat intacts sur les 9 machines qui en portent. 36 minutes depuis la reprise.

95 preuves.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Daniel Allaire 2026-10-11 22:27:49 -04:00
parent 3fc16c845d
commit 6df04888ab
2 changed files with 50 additions and 0 deletions

View file

@ -1,5 +1,49 @@
# CHANGELOG — Set-OPS
## 2026-10-11 (136) — Technolibre reconstruit avec des dépôts privés : chaque runner ne lit que le sien
**95 preuves.** Reconstruction complète de Technolibre (`make reconstruire-locataire`), puis
`make forge-etancheite` ETANCHE. Rien n'est changé dans le code par cette entrée : elle
consigne la preuve du chantier (`docs/depots-prives-conception.md`, décision D3).
### La bascule
`make forge-cles CONFIRMER=true` a rendu privés `site-chezlepro`, `ops-chezlepro` et
`ops-technolibre`. `set-ops-public` et `set-ops-modeles` restent publics. Mesuré ensuite :
- sans identifiant, les trois dépôts privés exigent une authentification, les deux publics
répondent ;
- chaque runner de locataire lit son dépôt en SSH, et la forge lui refuse les deux autres ;
- la mesure qui avait ouvert le chantier, refaite depuis le runner de Technolibre : le dépôt
de Chezlepro et celui du site demandent maintenant un identifiant ;
- `make genome-etat`, qui lit maintenant la forge authentifié, trouve les cinq dépôts à jour.
### La reconstruction de Technolibre
Sauvegarde « avant-raser », rasage et création des 13 VM, puis arrêt à l'insémination sur un
dossier SSH absent d'une machine neuve (entrée 135, corrigé et publié). Reprise depuis
l'insémination, 36 minutes jusqu'au bilan :
- **insémination** : le runner neuf n'avait pas encore de clé (« Identity file … not
accessible ») ; le runner du site lui a apporté `ops-technolibre` en colis, et le clone neuf
a réussi. C'était la seule partie du mécanisme jamais vue sur un runner ;
- **armement** : la voûte a remis la clé stable, et la garde de l'entrée 132 a confirmé
qu'elle est celle que la face publie ;
- **montage** : le runner a tiré son dépôt privé en SSH avec cette clé, puis monté la flotte,
recette comprise ;
- **bilan** : aucune perte. Sur les 9 machines qui portent un état, chaque témoin est
IDENTIQUE ou CONFORME à l'instantané d'avant le rasage (Nextcloud 268 fichiers, PostgreSQL
121 tables, OpenLDAP 12 entrées, step-ca, courriel, rspamd, Icinga, Prometheus, Loki).
Après coup, la console de Technolibre ne trouve rien à prendre : son moteur et son dépôt sont
au niveau de la forge, sa face est à jour. Son runner vise la forge en SSH et n'a plus de colis
en attente.
**Limite.** Le runner de Chezlepro n'a pas été reconstruit ; il lit déjà son dépôt en SSH
depuis l'étape 3. Les deux consoles de locataires portaient avant la reconstruction un
moteur en retard (`d7717a4`) : celle de Technolibre est à jour, celle de Chezlepro attend un
`make appliquer GROUPE=serveur_ops`.
## 2026-10-11 (135) — Une machine neuve n'avait pas encore de dossier SSH
**95 preuves.** Le lint du rôle passe. Correctif de l'entrée 133, trouvé par la reconstruction

View file

@ -126,6 +126,12 @@ pousse déjà en SSH), la console (`etat_forge` lit `origin`, qui deviendra l'UR
## 7. L'ordre de bascule
**Fait le 2026-10-11, étapes 1 à 5.** Bascule par `make forge-cles CONFIRMER=true`, mesurée
ETANCHE par `make forge-etancheite`. Preuve par reconstruction de Technolibre (§D3) : le runner
neuf a reçu son dépôt en colis à l'insémination (il n'avait pas encore de clé), l'a tiré en SSH
une fois armé, et la flotte est remontée avec ses témoins d'état intacts. La reconstruction a
d'abord révélé un dossier SSH manquant sur une machine neuve (corrigé, `3fc16c8`).
Chaque étape se vérifie avant la suivante, et la bascule se défait d'un appel par dépôt
(repasser public).