Commit graph

8 commits

Author SHA1 Message Date
bb5fe9ff30 plan : Redis retire — le role Forgejo n'y fait aucune reference
Verifie plutot que suppose : serveur_forgejo ne mentionne Redis ni dans son app.ini, ni
dans ses defauts, et ne declare aucun lien vers lui. Il etait au plan par heritage du
modele `forge`, pas par besoin.

Un service qui tourne sans rien servir n'est pas neutre sur la machine dont tout le reste
descend : c'est une surface a defendre, une sauvegarde a surveiller, et une chose de plus
qui peut tomber un soir ou l'on cherche autre chose.

Registre valide, inventaire regenere.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-22 11:00:03 -04:00
05347e6206 architecture : la sauvegarde sort du cluster, et Dovecot quitte le plan
DEUX DECISIONS DE L'EXPLOITANT, prises en regardant ce que patient 0 doit survivre.

1. LA SAUVEGARDE POINTE HORS CLUSTER (eregion). Le defaut du role poserait un backup-01
   sur le MEME cluster : on sauvegarderait le genome a cote du genome, et la perte du
   cluster emporterait les deux. Patient 0 existe pour survivre a la perte du reste.
   Une seule cle a surcharger — client_backup_cible — parce que le transport est du SFTP
   sur SSH, pas une derivation du plan.

   CE QUI PART EST PETIT, et c'est le raisonnement qui compte : les quatre depots du
   genome sont des MIROIRS (le poste de l'exploitant, eregion, chaque enfant en portent
   une copie) — on les repousse depuis n'importe quel survivant. Reste l'irremplacable :
   les cles de l'AC, et la base de la forge le jour ou elle portera autre chose que des
   miroirs.

   DEFAUT ASSUME, ecrit dans le fichier : eregion n'est pas geree par Set-OPS, donc ni
   prouvee ni reconstructible. C'est un domaine de panne DIFFERENT d'asgard — le point —
   pas un domaine sur. A revoir quand une troisieme machine existera.

2. DOVECOT RETIRE. Une boite aux lettres sans MTA pour l'alimenter ne servait rien ici.
   Patient 0 passe de six a cinq machines : moins de surface a defendre sur la machine
   dont tout descend, et une sauvegarde de moins a surveiller. L'application, la machine
   et la fonction orpheline partent ensemble — une nomenclature qui place une machine
   inexistante est un mensonge en attente.

Les quatre registres valident, l'inventaire est regenere.

RESTE UNE ACTION HUMAINE, sur eregion : creer le compte restic et y poser
cle-publique-sauvegarde.txt. La commande exacte est dans 20-sauvegarde.yml.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-22 10:55:11 -04:00
fe02d29704 plan : retirer client_smtp — une integration sans serveur bloque le deploiement
Le modele `forge` posait `client_smtp` sur deux machines alors qu'aucun MTA ne figure au
plan. La dependance causale (client_smtp -> serveur_postfix actif) aurait REFUSE le
deploiement, et l'aurait refuse tard : apres le clonage.

Porter des depots n'exige pas d'envoyer du courriel. Le jour ou la forge devra notifier,
ce sera un relais declare, pas une integration orpheline.

Registre valide, inventaire regenere.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 13:11:49 -04:00
33ca12d2db voute : vingt secrets fabriques, et deux qui restent a toi
`ansible-vault` chiffre avec la cle de voute de l'exploitant — le mot de passe n'a jamais
transite, seul son chemin. Les valeurs sont tirees au hasard (40 caracteres) et n'ont ete
affichees nulle part. La voute est ignoree par git : seul le gabarit est versionne.

CAS PARTICULIER, `vault_backup_ssh_privkey` : une VRAIE paire de cles ed25519 a ete
generee. La privee est en voute ; la PUBLIQUE est dans cle-publique-sauvegarde.txt, a
poser sur le depot restic le jour venu. Une cle publique n'est pas un secret.

DEUX SECRETS MANQUENT DELIBEREMENT — `proxmox_api_token_id` et `_secret`. Ils
n'ont pas le prefixe `vault_` et echappaient au reperage : le gabarit les nomme
desormais. Ils doivent etre CREES DANS PROXMOX, propres a patient 0 (Datacenter >
Permissions > API Tokens). Recopier le jeton d'un autre tenant leur donnerait la meme
clef, et on ne pourrait plus en revoquer un sans revoquer l'autre.

P18 refuse donc encore patient 0, et c'est le comportement voulu : la preuve attend une
action humaine, elle ne l'invente pas.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 13:00:30 -04:00
94e3b15c87 parente : patient 0 sait de quel moteur il descend
Inscrit par `make genome-inscrire` : moteur Set-OPS-public au commit 742bcbf, sous
l'etiquette signee v2026.08.21 ; instance, hebergeur et modeles avec leur remote et leur
commit.

Sans ce fichier, un ecosysteme fabrique aujourd'hui ne sait plus dans un an de quel moteur
il descend ni a quel etat. C'est la mutation sans memoire — le seul vrai risque d'une
lignee. P40 le verifie : chaque depot se retrouve, chaque commit existe encore, chacun
porte un remote.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 12:56:41 -04:00
f5b1f9a643 placement : trois valeurs, pas quatre — le pont se derive du VNet de la zone
Le commentaire annoncait « les QUATRE valeurs qui rattachent un tenant a une fabric ».
D-80, corrigee le 2026-08-13, en compte TROIS : noeud, stockage, gabarit. Le pont des VM
de la flotte est le VNet DERIVE de leur zone (t29fron, t29serv, t29donn, t29appl) ;
`proxmox_clone_pont: vmbr1` ne sert qu'aux clones manuels hors plan.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-20 21:39:37 -04:00
338278e5d3 federe : patient 0 entre dans la politique du site
Il n'etait qu'un plan : rien ne devait lui reserver de VLAN ni de regles. Il est
maintenant destine a etre materialise, donc il doit exister AVANT `make sdn-appliquer` —
sinon ses zones ne sont creees nulle part et ses VM naissent sur un reseau non provisionne.

VERIFIE apres bascule, sur le cluster reel (VPN monte) :
- placement : noeud asgard, stockage TrueNAS, pont vmbr1, gabarit 99998 — les quatre
  existent. Le gabarit dore a survecu au rasage des VM.
- SDN : 3 zones, 16 VNet, 16 sous-reseaux, aucune collision.
- frontiere : 52 regles, 16 routes, devis coherent.
- harnais complet du moteur : 38 OK, 0 echec, 0 saute.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-20 21:15:43 -04:00
3cf00bbf3a patient 0 : le plan de l'ecosysteme dont les autres descendront
Aujourd'hui, tout ce qui fabrique Chezlepro vit sur `eregion` — une machine HORS FLOTTE,
montee a la main, que Set-OPS ne deploie pas, ne sauvegarde pas et ne prouve pas. Un
ecosysteme entier depend d'un point unique que le moteur ignore.

Patient 0 le remplace par le plus petit ecosysteme COMPLET (PKI, DNS, edge, courriel,
PostgreSQL, forge — six machines), bati par le moteur, sauvegarde par le moteur, verifie
par le harnais. On ne deplace pas le point unique de defaillance : on l'elimine.

Derive du modele `forge`, avec trois ecarts assumes :
- INDEX 29 (10.29.0.0/16, VLAN 1291-1296), choisi libre : 13 lab, 17 Chezlepro,
  23 Technolibre ; les index bas (1, 11) ont deja force deux renumerotages.
- `federe: false` — patient 0 est EXCLU des devis du site tant qu'il n'est pas
  materialise. Une flotte en cours de reconstruction n'a pas a se voir reserver des VLAN
  et des regles pour un ecosysteme qui n'existe pas (c'est exactement ce qui avait
  injecte les adresses d'un tenant perime dans le pare-feu partage, le 2026-08-12).
  A basculer a `true` AVANT `make sdn-appliquer`, le jour du deploiement.
- `forge-01` recoit 80G au lieu du defaut : elle hebergera les depots de TOUTE la
  lignee, pas seulement les siens.

Le modele `forge` dont il derive etait lui-meme perime sur deux points, corriges ici :
`client_pki` liste a la main alors que l'integration est devenue universelle, et un FQDN
expose reste en `exemple.internal`. Les modeles PRIVES ne sont pas couverts par le
harnais — P17 ne decouvre que le modele public.

VERIFIE : les quatre registres valident, le gabarit de voute couvre les 20 secrets exiges,
l'inventaire est genere et applique. Et sur l'instance de l'exploitant, en pleine
reconstruction : `make verifier` -> 38 OK, 0 echec, 0 saute ; les devis ne voient
toujours que Chezlepro et Technolibre.

CE QUI N'EST PAS ICI, ET NE LE SERA JAMAIS : le mot de passe de la voute. C'est le seul
objet que la reproduction exige d'un humain — le mettre dans la forge reviendrait a
enfermer la cle dans le coffre.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-20 20:51:00 -04:00