patient 0 : il n existe plus, et le depot le disait encore au present
Ses machines sont detruites. Le depot en parlait comme d un ecosysteme vivant, et l une de ces phrases datait de la veille : positionnement.md comptait ses 5 VM dans la flotte, chiffre que j avais moi-meme ecrit en revisant. CE QUI EST CORRIGE positionnement.md 51 VM sur quatre plans vivants, et non 56 sur cinq sortir-les-cles-du-poste le genome est replique DEUX fois, non trois wiki/Glossaire.md SQLite : ce qu il PORTAIT filiation-emancipation la famille de pairs a perdu un pair decisions-architecture D-83 consigne le retrait, avec son cout carte-set-ops.md 80 decisions en vigueur LE COUT, PARCE QU IL N ETAIT NOMME NULLE PART D-82 lui avait laisse deux raisons d etre : la mise en oeuvre de reference du modele origine, et un TEMOIN de plus du genome. Le retrait solde la premiere et abaisse la seconde de trois copies vivantes a deux. Or c est le raisonnement de son propre README qui portait tout : on n echappe pas a la boucle par la ruse, mais par le NOMBRE. Le nombre a baisse. Et le point unique de defaillance que patient 0 existait pour eliminer — eregion, hors flotte, que Set-OPS ne deploie ni ne sauvegarde ni ne prouve — est toujours a la racine. Il n a jamais ete elimine, seulement promu ; il n y a maintenant plus de miroir independant pour l absorber. CE QUI RESTE SUR LE TERRAIN, ET QUI N EST PAS DE LA PROSE Son plan est encore sur disque en federe: true. La federation lui reserve donc toujours l index 29, la zone SDN t29, ses VNets, les VLAN 1291-1296 et les sous-reseaux 10.29.16-21.0/24. Quatre machines du site — backup, cache, dns, forge — acceptent encore SSH, apt, DNS et HTTPS depuis 10.29.0.0/16 : un perimetre vide. Le runner du site clone encore ops-patient0. C est un geste, pas une intention, et il touche le reseau : il n est pas fait ici. La sequence est listee dans D-83. make prouver --verifier : CONFORME, 56 OK, 0 echec, 1 saute. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
This commit is contained in:
parent
5bc3bceac1
commit
36b6926e21
6 changed files with 25 additions and 11 deletions
|
|
@ -28,7 +28,7 @@ README de rôles). Cette page comble ces deux trous.
|
||||||
| documents | 39 | `docs/*.md` |
|
| documents | 39 | `docs/*.md` |
|
||||||
| pièces d'audit | 36 | `docs/audit/*` |
|
| pièces d'audit | 36 | `docs/audit/*` |
|
||||||
| unités de wiki | 27 | `wiki/*.md` |
|
| unités de wiki | 27 | `wiki/*.md` |
|
||||||
| décisions en vigueur | 79 | lignes `\| **D-nn** \|` de `decisions-architecture.md` |
|
| décisions en vigueur | 80 | lignes `\| **D-nn** \|` de `decisions-architecture.md` |
|
||||||
| décisions renversées | 3 | lignes `\| **D-nn** —` du même document |
|
| décisions renversées | 3 | lignes `\| **D-nn** —` du même document |
|
||||||
|
|
||||||
## 1. À lire d'abord (dans l'ordre)
|
## 1. À lire d'abord (dans l'ordre)
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,7 @@ sont les seules vérifiables.
|
||||||
| # | Décision | Pourquoi | Détail | Garde |
|
| # | Décision | Pourquoi | Détail | Garde |
|
||||||
|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
| **D-82** | **Patient 0 n'est le parent de personne.** Il est la **mise en œuvre de référence** du modèle `origine` — le plus petit écosystème complet — et un pair de la famille du génome, pas sa racine | trois faits l'ont retiré un par un : D-81 a donné l'autorité du génome à la forge du SITE (son dernier lecteur corrigé le 2026-08-26, Technolibre le 08-31) ; le dénominateur commun vit dans les modèles depuis le 08-24 ; et **l'ancêtre était locataire de son enfant** — index 29 sur la fabric de `SITE-Chezlepro`, qui descend de lui. Ce qu'il devait éliminer — le SPOF `eregion`, hors flotte — n'a PAS été éliminé mais **promu** : le poste y pousse, la forge du site en tire. Cette dette appartient désormais au SITE, et la nommer est le minimum : *un objectif qu'on abandonne sans le dire devient un objectif qu'on croit atteint* | `OPS-Patient0/README.md`, `docs/filiation-emancipation.md` | — |
|
| **D-82** | **Patient 0 n'est le parent de personne.** Il est la **mise en œuvre de référence** du modèle `origine` — le plus petit écosystème complet — et un pair de la famille du génome, pas sa racine | trois faits l'ont retiré un par un : D-81 a donné l'autorité du génome à la forge du SITE (son dernier lecteur corrigé le 2026-08-26, Technolibre le 08-31) ; le dénominateur commun vit dans les modèles depuis le 08-24 ; et **l'ancêtre était locataire de son enfant** — index 29 sur la fabric de `SITE-Chezlepro`, qui descend de lui. Ce qu'il devait éliminer — le SPOF `eregion`, hors flotte — n'a PAS été éliminé mais **promu** : le poste y pousse, la forge du site en tire. Cette dette appartient désormais au SITE, et la nommer est le minimum : *un objectif qu'on abandonne sans le dire devient un objectif qu'on croit atteint* | `OPS-Patient0/README.md`, `docs/filiation-emancipation.md` | — |
|
||||||
|
| **D-83** | **Patient 0 a été retiré** — ses machines n'existent plus (constaté le 2026-09-06) | D-82 lui avait laissé une raison d'être : la mise en œuvre de référence du modèle `origine`, et un **témoin** de plus du génome. Le retrait solde la première et **abaisse la seconde de trois copies vivantes à deux** (`eregion`, la forge du site). Ce qu'il devait éliminer — le SPOF `eregion` — reste entier, et sans lui il n'y a plus de miroir indépendant pour l'absorber. **Son plan reste sur disque et la fédération lui réserve toujours l'index 29** : tant que ce n'est pas tranché, le site ouvre SSH, apt, DNS et HTTPS à `10.29.0.0/16` — un périmètre vide | `OPS-Patient0/`, `SITE-Chezlepro/flux-genere/` | **P21** (index), **P23** |
|
||||||
| **D-81** | **La forge du SITE fait autorité pour le génome.** Toute autre copie — y compris celle d'où le moteur a été poussé jusqu'ici — est un **miroir**. Le poste de l'exploitant ne route pas jusqu'à elle : c'est le **runner du site** qui publie, par `make genome-pousser` | un écosystème se reproduit depuis la forge de son site : c'est de là qu'il clone son moteur, ses plans, ses modèles. Si l'autorité est ailleurs, cette forge devient un cache qu'on croit à jour — et le 2026-08-26 elle était **quatre commits en arrière** sans que rien ne le signale, dont le correctif qui désarme le pare-feu Proxmox. **Un écosystème qui se reproduit depuis une forge en retard reproduit ses défauts.** Le poste n'a de patte que sur l'administration, et on ne perce pas de chemin pour lui : le runner existe pour ce travail | `playbooks/maintenance/genome_pousser.yml`, `scripts/genome_colis.py`, `Makefile` §genome-pousser | — |
|
| **D-81** | **La forge du SITE fait autorité pour le génome.** Toute autre copie — y compris celle d'où le moteur a été poussé jusqu'ici — est un **miroir**. Le poste de l'exploitant ne route pas jusqu'à elle : c'est le **runner du site** qui publie, par `make genome-pousser` | un écosystème se reproduit depuis la forge de son site : c'est de là qu'il clone son moteur, ses plans, ses modèles. Si l'autorité est ailleurs, cette forge devient un cache qu'on croit à jour — et le 2026-08-26 elle était **quatre commits en arrière** sans que rien ne le signale, dont le correctif qui désarme le pare-feu Proxmox. **Un écosystème qui se reproduit depuis une forge en retard reproduit ses défauts.** Le poste n'a de patte que sur l'administration, et on ne perce pas de chemin pour lui : le runner existe pour ce travail | `playbooks/maintenance/genome_pousser.yml`, `scripts/genome_colis.py`, `Makefile` §genome-pousser | — |
|
||||||
| **D-13** | Un **hébergeur** sert plusieurs **tenants** et a son tenant par défaut | Chezlepro est les deux à la fois, ce qui masquait la distinction | `frontiere-opnsense.md` §2 | — |
|
| **D-13** | Un **hébergeur** sert plusieurs **tenants** et a son tenant par défaut | Chezlepro est les deux à la fois, ce qui masquait la distinction | `frontiere-opnsense.md` §2 | — |
|
||||||
| **D-14** | `underlay.yml` appartient à l'**hébergeur**, monté par symlink | ce sont ses commutateurs, ses câbles ; le moteur est générique, un tenant n'en possède pas | `sdn-evpn.md`, `underlay.yml.example` | — |
|
| **D-14** | `underlay.yml` appartient à l'**hébergeur**, monté par symlink | ce sont ses commutateurs, ses câbles ; le moteur est générique, un tenant n'en possède pas | `sdn-evpn.md`, `underlay.yml.example` | — |
|
||||||
|
|
|
||||||
|
|
@ -196,9 +196,14 @@ la plus élégante, mais parce que les deux autres avaient cessé d'être dispon
|
||||||
- **le SITE est la source** ✔ — c'est ce que D-81 avait déjà fait, et que le reste du dépôt
|
- **le SITE est la source** ✔ — c'est ce que D-81 avait déjà fait, et que le reste du dépôt
|
||||||
a suivi sans qu'on le déclare : `serveur_forge_site`, puis `serveur_cache_site`, puis
|
a suivi sans qu'on le déclare : `serveur_forge_site`, puis `serveur_cache_site`, puis
|
||||||
`serveur_resolveur_site`. Trois services prêtés, un seul patron ;
|
`serveur_resolveur_site`. Trois services prêtés, un seul patron ;
|
||||||
- **une famille de pairs** — reste vraie *pour la redondance*, et c'est ce que patient 0
|
- **une famille de pairs** — reste vraie *pour la redondance*. C'est ce que patient 0
|
||||||
garde : il porte un miroir du génome comme chaque écosystème. Ce qu'il perd, c'est le
|
gardait : un miroir du génome, comme chaque écosystème. Il perdait le rang, pas la place.
|
||||||
rang, pas la place.
|
|
||||||
|
> **Il a perdu la place aussi : ses machines n'existent plus (2026-09-06).** La famille du
|
||||||
|
> génome compte donc **deux** copies vivantes au lieu de trois — `eregion` et la forge du
|
||||||
|
> site. Or c'est précisément le raisonnement ci-dessus qui portait tout : *on n'échappe pas
|
||||||
|
> à la boucle par la ruse, mais par le nombre.* Le nombre a baissé, et le SPOF que patient 0
|
||||||
|
> devait absorber (`eregion`, hors flotte) est toujours là.
|
||||||
|
|
||||||
**Ce que ça ne règle pas.** Le point unique de défaillance que patient 0 devait éliminer —
|
**Ce que ça ne règle pas.** Le point unique de défaillance que patient 0 devait éliminer —
|
||||||
`eregion`, hors flotte — n'a pas disparu : il alimente maintenant l'autorité. La dette a
|
`eregion`, hors flotte — n'a pas disparu : il alimente maintenant l'autorité. La dette a
|
||||||
|
|
|
||||||
|
|
@ -45,10 +45,10 @@ Raisons assumées :
|
||||||
applications lourdes à héberger et maintenir (Django + PostgreSQL, etc.). Set-OPS
|
applications lourdes à héberger et maintenir (Django + PostgreSQL, etc.). Set-OPS
|
||||||
reste possédé en entier, sans dépendance.
|
reste possédé en entier, sans dépendance.
|
||||||
2. **Bon dimensionnement** — mais l'argument a bougé, et il faut le dire honnêtement.
|
2. **Bon dimensionnement** — mais l'argument a bougé, et il faut le dire honnêtement.
|
||||||
Ce document a longtemps écrit « ~13 VM ». Le moteur pilote aujourd'hui **cinq plans**
|
Ce document a longtemps écrit « ~13 VM ». Le moteur pilote aujourd'hui **quatre plans
|
||||||
(mesuré le 2026-09-06) : Chezlepro 14 VM, Technolibre 15, le lab 15, Patient 0 5, plus
|
vivants** (mesuré le 2026-09-06) : Chezlepro 14 VM, Technolibre 15, le lab 15, plus les
|
||||||
les 7 machines du site — **56 VM déclarées**, réparties sur des écosystèmes qui ne se
|
7 machines du site — **51 VM déclarées**, réparties sur des écosystèmes qui ne se parlent
|
||||||
parlent pas. Ça reste très loin de l'échelle entreprise pour laquelle NetBox est fait,
|
pas. *(Patient 0 en portait 5 ; ses machines n'existent plus.)* Ça reste très loin de l'échelle entreprise pour laquelle NetBox est fait,
|
||||||
et le seuil du §4 n'est pas franchi. Mais la courbe monte : c'est **le** chiffre à
|
et le seuil du §4 n'est pas franchi. Mais la courbe monte : c'est **le** chiffre à
|
||||||
regarder quand on se demande si la décision tient encore.
|
regarder quand on se demande si la décision tient encore.
|
||||||
3. **Modèle sur-mesure** — NetBox exprimerait nos DSN / expositions à coups de
|
3. **Modèle sur-mesure** — NetBox exprimerait nos DSN / expositions à coups de
|
||||||
|
|
|
||||||
|
|
@ -5,8 +5,15 @@
|
||||||
|
|
||||||
## Ce qui est en jeu
|
## Ce qui est en jeu
|
||||||
|
|
||||||
Le **code** de Set-OPS est répliqué trois fois : `eregion`, la forge du site, patient 0.
|
Le **code** de Set-OPS est répliqué **deux fois** : `eregion` et la forge du site. Les
|
||||||
Les **voûtes chiffrées** y sont aussi. Le coffre est solide.
|
**voûtes chiffrées** y sont aussi.
|
||||||
|
|
||||||
|
> **Ce chiffre était trois, et il a baissé sans que rien ne le signale.** Le troisième
|
||||||
|
> témoin était patient 0 ; ses machines n'existent plus. Un coffre répliqué deux fois reste
|
||||||
|
> solide — mais c'est la **redondance du génome** qui a diminué, pas le chiffrement, et
|
||||||
|
> c'est exactement ce que la page *Filiation, signatures & témoins* appelle la vraie mesure
|
||||||
|
> de résistance d'une lignée : combien de copies **vivantes**, sur combien de machines
|
||||||
|
> distinctes.
|
||||||
|
|
||||||
Les **clés** qui l'ouvrent vivent dans neuf fichiers de ce poste — 1 644 octets — sans
|
Les **clés** qui l'ouvrent vivent dans neuf fichiers de ce poste — 1 644 octets — sans
|
||||||
aucune copie ailleurs. S'y ajoutent les clés SSH par lesquelles on entre sur les
|
aucune copie ailleurs. S'y ajoutent les clés SSH par lesquelles on entre sur les
|
||||||
|
|
|
||||||
|
|
@ -289,7 +289,8 @@ règles. Un par écosystème.
|
||||||
## L'état, et sa preuve
|
## L'état, et sa preuve
|
||||||
|
|
||||||
**SQLite** — Une base de données qui tient dans **un fichier**, sans serveur ni compte.
|
**SQLite** — Une base de données qui tient dans **un fichier**, sans serveur ni compte.
|
||||||
Suffisante pour une petite forge ; c'est ce que porte patient 0. À l'inverse de
|
Suffisante pour une petite forge — c'est ce que portait patient 0, dont les machines
|
||||||
|
n'existent plus. À l'inverse de
|
||||||
*PostgreSQL*, qui est un service à part entière — un serveur, une zone, un secret.
|
*PostgreSQL*, qui est un service à part entière — un serveur, une zone, un secret.
|
||||||
|
|
||||||
**restic** — L'outil de sauvegarde chiffrée et dédupliquée. Cf. [Sauvegardes](Sauvegardes).
|
**restic** — L'outil de sauvegarde chiffrée et dédupliquée. Cf. [Sauvegardes](Sauvegardes).
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue