Set-OPS-Public/roles/serveur_forge_site/README.md
Daniel Allaire 58ce3dfea4 forge du site : le marqueur manquant — le genome n etait ouvert a personne
MEME PATRON QUE serveur_artefacts + serveur_cache_site : un installateur, un
marqueur. Le site rend DEUX services a ses locataires pendant leur jeunesse, les
PAQUETS et le GENOME. Le premier etait declare, le second ne l etait pas — alors
que D-81 fait de cette forge l autorite dont tout ecosysteme se reproduit.

Mesure sur ops-01, premiere machine de la reconstruction de Chezlepro :

    cache du SITE 10.0.33.21:3142 : OK
    forge du SITE 10.0.33.11:443  : BLOQUE

Le plan du tenant declarait pourtant lire son genome a cette adresse. UNE
DEPENDANCE DECLAREE CHEZ LE CONSOMMATEUR, SANS FLUX CHEZ LE FOURNISSEUR — et rien
ne le signalait : la garde de matrice de resoudre_flux ne verifie que les paires
role->role, jamais un pair symbolique comme voisins_site.

POURQUOI UN ROLE A PART : ajouter cet ingress a serveur_forgejo aurait ouvert LA
FORGE DE CHAQUE TENANT a ses voisins. La responsabilite appartient a une machine
precise, pas au logiciel qu elle fait tourner.

Il verifie que la forge ECOUTE vraiment : sans ca il attribuerait l autorite du
genome a un port muet, et l ecosysteme venu s y reproduire attendrait sans savoir
pourquoi — ce qui est exactement arrive, quinze minutes durant.

TROIS GARDES ONT TRAVAILLE : le catalogue a refuse un role qu il ne nomme pas, la
carte a corrige ses deux chiffres, et P49 a exige la regeneration du registre.
P33 a impose partage: true — le marqueur emprunte l ecoute de serveur_forgejo.

Frontiere : 4 objets crees, 0 retire. Verifie depuis ops-01 : 443 OK.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019f91zs9SDdwSzL2CVei6on
2026-08-28 16:15:42 -04:00

48 lines
1.9 KiB
Markdown

# serveur_forge_site
**Le marqueur de la forge du génome.** Il dit que *cette* forge est celle dont les
écosystèmes du site se reproduisent (D-81), et déclare le flux qui le permet. Il
n'installe rien.
## Pourquoi il existe séparément
C'est le même patron que `serveur_artefacts` + `serveur_cache_site` : **un installateur,
un marqueur**.
| | |
|---|---|
| `serveur_forgejo` | pose le logiciel, sert sa propre flotte |
| **ce rôle** | désigne la forge comme **racine du génome du site**, et l'ouvre aux tenants |
Ajouter `ingress 443 from voisins_site` à `serveur_forgejo` aurait ouvert **la forge de
chaque tenant** à ses voisins. La responsabilité appartient à une machine précise, pas au
logiciel qu'elle fait tourner.
## Ce qu'il a corrigé
Le site rend deux services à ses locataires pendant leur jeunesse : **les paquets** et
**le génome**. Le premier était déclaré (`serveur_cache_site`), le second ne l'était pas —
alors que D-81 fait de cette forge l'autorité dont tout écosystème se reproduit.
Mesuré le 2026-08-28 sur `ops-01`, première machine de la reconstruction de Chezlepro :
```
cache du SITE 10.0.33.21:3142 : OK
forge du SITE 10.0.33.11:443 : BLOQUÉ
```
Le plan du tenant déclarait pourtant lire son génome à cette adresse. **Une dépendance
déclarée chez le consommateur, sans flux correspondant chez le fournisseur** — et rien ne
le signalait : la garde de matrice de `resoudre_flux` ne vérifie que les paires
rôle→rôle, jamais un `pair` symbolique comme `voisins_site`.
## Qui peut le déclarer
**L'écosystème de l'hébergeur**, et lui seul. Un tenant qui le déclarerait offrirait sa
forge à ses voisins.
## Ce que ce rôle ne fait pas
Il n'installe rien, n'ouvre aucun port, ne sauvegarde rien. Il attribue une
responsabilité — et vérifie que le service qu'il désigne écoute vraiment, faute de quoi
il donnerait l'autorité du génome à un port muet.