diff --git a/docs/carte-set-ops.md b/docs/carte-set-ops.md index 6a526f1..051c1ce 100644 --- a/docs/carte-set-ops.md +++ b/docs/carte-set-ops.md @@ -28,7 +28,7 @@ README de rôles). Cette page comble ces deux trous. | documents | 39 | `docs/*.md` | | pièces d'audit | 36 | `docs/audit/*` | | 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 | ## 1. À lire d'abord (dans l'ordre) diff --git a/docs/decisions-architecture.md b/docs/decisions-architecture.md index c768c0f..fe4f3b8 100644 --- a/docs/decisions-architecture.md +++ b/docs/decisions-architecture.md @@ -56,6 +56,7 @@ sont les seules vérifiables. | # | 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-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-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` | — | diff --git a/docs/filiation-emancipation.md b/docs/filiation-emancipation.md index 99b0c97..2e94280 100644 --- a/docs/filiation-emancipation.md +++ b/docs/filiation-emancipation.md @@ -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 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 ; -- **une famille de pairs** — reste vraie *pour la redondance*, et 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 - rang, pas la place. +- **une famille de pairs** — reste vraie *pour la redondance*. C'est ce que patient 0 + gardait : un miroir du génome, comme chaque écosystème. Il perdait le 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 — `eregion`, hors flotte — n'a pas disparu : il alimente maintenant l'autorité. La dette a diff --git a/docs/positionnement.md b/docs/positionnement.md index e28ca40..93fac12 100644 --- a/docs/positionnement.md +++ b/docs/positionnement.md @@ -45,10 +45,10 @@ Raisons assumées : applications lourdes à héberger et maintenir (Django + PostgreSQL, etc.). Set-OPS reste possédé en entier, sans dépendance. 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** - (mesuré le 2026-09-06) : Chezlepro 14 VM, Technolibre 15, le lab 15, Patient 0 5, plus - les 7 machines du site — **56 VM déclarées**, réparties sur des écosystèmes qui ne se - parlent pas. Ça reste très loin de l'échelle entreprise pour laquelle NetBox est fait, + Ce document a longtemps écrit « ~13 VM ». Le moteur pilote aujourd'hui **quatre plans + vivants** (mesuré le 2026-09-06) : Chezlepro 14 VM, Technolibre 15, le lab 15, plus les + 7 machines du site — **51 VM déclarées**, réparties sur des écosystèmes qui ne se parlent + 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 à regarder quand on se demande si la décision tient encore. 3. **Modèle sur-mesure** — NetBox exprimerait nos DSN / expositions à coups de diff --git a/docs/sortir-les-cles-du-poste.md b/docs/sortir-les-cles-du-poste.md index 86b011a..3493686 100644 --- a/docs/sortir-les-cles-du-poste.md +++ b/docs/sortir-les-cles-du-poste.md @@ -5,8 +5,15 @@ ## Ce qui est en jeu -Le **code** de Set-OPS est répliqué trois fois : `eregion`, la forge du site, patient 0. -Les **voûtes chiffrées** y sont aussi. Le coffre est solide. +Le **code** de Set-OPS est répliqué **deux fois** : `eregion` et la forge du site. Les +**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 aucune copie ailleurs. S'y ajoutent les clés SSH par lesquelles on entre sur les diff --git a/wiki/Glossaire.md b/wiki/Glossaire.md index 3ed1700..a307f2d 100644 --- a/wiki/Glossaire.md +++ b/wiki/Glossaire.md @@ -289,7 +289,8 @@ règles. Un par écosystème. ## L'état, et sa preuve **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. **restic** — L'outil de sauvegarde chiffrée et dédupliquée. Cf. [Sauvegardes](Sauvegardes).