Commit graph

11 commits

Author SHA1 Message Date
8b80a51a18 patient 0 efface : l index 29 est libere, et le site n ouvre plus rien a 10.29.0.0/16
Ses machines n existaient plus depuis le 2026-09-06 (D-83), mais son plan
restait sur disque : la federation lui reservait l index 29 et quatre machines
du site lui ouvraient SSH, apt, DNS et HTTPS. Les commentaires et documents
vivants gardent leur lecon sans le nommer ; les archives restent telles quelles.

Pas encore sur le reseau : les regles regenerees attendent le runner du site.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 21:53:36 -04:00
89068ae397 replication du DNS public avec SITE-Chezlepro, declaree des deux cotes (inactive)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 18:11:22 -04:00
120fe93576 site de reprise : le README dit ce que ce site est, et ce qui manque
Ce site n heberge aucune production : les deux ecosystemes habitent SITE-Chezlepro.
Il existe pour les REPRENDRE. Son underlay declare donc les deux index, 17 et 23.

Le README dit ce qu une reprise demande — trois gestes, et le plan du locataire ne
bouge pas — et ce que ce site doit porter pour qu elle aboutisse.

IL DIT AUSSI CE QUI N EST PAS RESOLU : les sauvegardes vivent sur le depot du site de
PRODUCTION. Si ce site brule, elles brulent avec lui, et il ne resterait ici que de
quoi reconstruire des machines vides. Un site de reprise sans la donnee reprend
l infrastructure, pas le service.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
2026-09-13 19:09:14 -04:00
ca68ef46b6 la premiere heure : adresses et comptes, dans l ordre
Proxmox et OPNsense sont deja installes chez TechnoLibre. Ce qui manque avant tout
deploiement, ce sont les bonnes adresses et les comptes par lesquels Set-OPS agit.

L ORDRE N EST PAS INDIFFERENT : la frontiere porte la passerelle de chaque zone. Posee
apres le noeud, celui-ci aurait des adresses qui ne menent nulle part, et le
diagnostic parlerait de reseau alors qu il s agirait d une patte manquante.

Le document donne les huit pattes de la frontiere avec l invariant du dernier octet,
les trois adresses du noeud, les deux comptes d API avec leurs commandes exactes, la
cle publique de la flotte a poser, la restauration du gabarit depuis la cle USB, et la
mesure d espace a faire AVANT de materialiser.

Il dit aussi franchement pourquoi le jeton Proxmox part en Administrator, et que le
resserrer ensuite est un geste a faire, pas une intention.

Au passage : `cle_ssh` designait `~/.ssh/technolibre`, qui n existe pas. La vraie cle
est `~/.ssh/id_ed25519_ansible_technolibre` — un nom plausible ne designe rien.

Controle : les onze adresses du document sont celles que la carte declare, aucune
inventee.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
2026-09-13 19:02:51 -04:00
7db59ebfe9 un seul plan d administration : grappe-controle retire
Ce site declarait deux reseaux d administration, calques sur Chezlepro : `management`
(le plan d admin) et `grappe-controle` (interface web et API de Proxmox).

Cette separation a une cause HISTORIQUE chez Chezlepro : ses trois noeuds existaient
avant Set-OPS, sur un reseau qui leur etait deja propre — et que le poste de
l exploitant atteint par routage, pas en s y posant.

Ici, un seul noeud et un terrain vierge : le second reseau ne separait rien. Il
obligeait seulement a router entre les deux pour que le poste — pose sur l admin —
atteigne une API posee ailleurs.

L exploitant se donne une adresse secondaire dans 10.31.0.0/24, exactement comme il le
fait deja pour 10.17.0.x et 10.37.0.x chez lui, et atteint d un coup la frontiere
(.1), le noeud (.41) et le rebond.

- reseau `grappe-controle` retire ; le noeud et la passerelle amont reviennent sur
  `management` (10.31.0.41 et 10.31.0.254)
- `proxmox_api_host` suit : 10.31.0.41
- COLLECTE.md dit ou le poste doit se poser

Verifie : devis SDN conforme (1 zone, 6 VNets), devis reseau emet les VLAN 31-36, 40
et 50 avec zero SVI, contrat du site inchange.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
2026-09-13 18:28:50 -04:00
f84e0ba6ed gabarit : une seule declaration, au plan
Le VMID du gabarit dore vivait aussi dans `underlay.yml`
(`materialisation.vmid_modele`), et les deux avaient diverge : le plan disait 9006,
la carte 99998 — que le plan nomme justement `precedent`.

Les deux VMID designent un gabarit valide, donc les deux clonaient : les machines du
site naissaient de l ancien, celles des locataires du nouveau, sans qu aucune
operation n echoue.

`site_machines` lit desormais le plan, comme le Makefile le faisait deja. P74 refuse
toute redeclaration.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
2026-09-13 17:55:09 -04:00
f69aea775f niveau 3 : la meme organisation que SITE-Chezlepro, commutateur compris
Il y a bien un commutateur entre la fabric et la frontiere, comme a Chezlepro.
`routeur` portait `portail` — la frontiere — parce qu on avait cru le contraire.

- routeur : arche-1, le commutateur ; la frontiere ne fait que la bordure nord/sud
- grappe-controle (vlan 1, 10.31.1.0/24) : l interface web et l API de Proxmox, a la
  meme place qu a Chezlepro. `proxmox_api_host` y pointe desormais.
- underlay-vxlan (vlan 50, 10.31.50.0/24) : exige par `routage_tenants: sdn`, et il
  manquait. Adresse derive de l index du site, pas repris de Chezlepro (192.168.50) :
  les deux sites ont vocation a etre relies.
- les hotes : le noeud sur ses quatre pattes, le commutateur, la passerelle amont

`routage_tenants` reste `sdn` — c est aussi ce que fait Chezlepro. Verifie : le devis
reseau vise arche-1 et emet les VLAN 1, 31-36, 40, 50 avec ZERO SVI, exactement la
forme de Chezlepro ; le devis SDN est conforme, 1 zone, 6 VNets, aucune collision.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
2026-09-13 16:18:31 -04:00
f9d14e6447 voute du site : dix secrets engendres, quatre a relever, et la porte fermee avant
Le site n avait ni voute ni cle. C etait le seul blocage TOTAL avant la visite — et
le seul qui ne demandait aucun Internet : sans elle, `make site-appliquer` ne passe
aucun secret et chaque role echoue sur son assertion.

Quatorze secrets, comme le site de Chezlepro :
- dix engendres sur le poste (autorite de certification et son provisionneur, cle et
  jeton interne de la forge, ses comptes d administration, base et jeton d API de la
  supervision, phrase du depot de sauvegarde) ;
- une paire ed25519 pour la sauvegarde — la moitie PRIVEE en voute, la PUBLIQUE au
  plan, ou elle est publiable sans risque et ou elle est la seule a pouvoir servir ;
- quatre laisses VIDES, parce qu ils ne s engendrent pas : ce sont des jetons que le
  materiel delivre. Vides plutot qu absents, deliberement — une cle absente donne une
  erreur de variable indefinie, une cle vide donne l assertion du role, qui dit QUOI
  manque et OU le prendre.

.gitignore ALIGNE SUR CHEZLEPRO, ET AVANT DE POSER LA VOUTE. Ce depot n excluait que
`*.vault.yml.bak` : `underlay.vault.yml` aurait ete versionnable. Le defaut etait
dormant parce que le fichier n existait pas encore — il se serait reveille au premier
`git add -A`, c est-a-dire au moment ou l on cesse de regarder. On ferme la porte
avant de poser ce qu elle protege.

Verifie : la voute se relit par le chemin NORMAL (la liste d identites, pas la cle
directe), quatorze secrets, aucun manquant, et la cle privee de sauvegarde est bien
une cle. Le chiffrement a ete fait avec ses deux flux rediriges vers des fichiers —
`ansible-vault` echoue en SILENCE sur une sortie non bloquante, et la voute paraitrait
ecrite en etant identique a l octet.

COLLECTE.md compte desormais dix-sept valeurs a relever, dont les quatre jetons.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
2026-09-13 14:37:37 -04:00
1fc0b44b6d site : toutes les valeurs decidables sont posees, restent les faits du materiel
Terrain vierge, factory settings : ce qui relevait d une DECISION a ete tranche.
Il reste treize valeurs, et ce sont des faits que seul le materiel peut dire.

Decisions :
- noeud `atelier`, frontiere `portail`, domaine du site `socle.internal` (distinct
  de technolibre.internal, qui appartient au locataire)
- pont unique vmbr0 VLAN-aware : sans seconde carte, d autres ponts ne separeraient
  rien
- gabarit 99998, le meme dans toute la flotte ; stockage local-lvm, le seul present
  sur un noeud unique
- rebond ansible@10.31.0.1, noeud 10.31.0.41

routage_tenants: sdn — et c est le point qui demandait un arbitrage. Sans
commutateur de niveau 3, le mode `switch` ferait porter les SVI a la frontiere :
six interfaces VLAN de locataire EN PLUS de ses six pattes de site, et les ACL
entre elles a verifier a la main. En EVPN, le routage et le filtrage inter-zone du
locataire vivent sur le noeud, la frontiere ne voit que le transit, et le moteur
sait deja poser tout ca. L objection « EVPN sur un seul noeud, c est un maillage
sans pair » se retourne : un VTEP unique n a aucune session a etablir.

CONSEQUENCE MESUREE AVANT LA VISITE, PAS PENDANT. En mode sdn, devis_opnsense
derive le prochain saut des routes de la frontiere depuis
proxmox_sdn.sortie_primaire — qui vit dans proxmox-hebergeur.yml, absent de ce
depot. La derivation rendait une chaine VIDE : le devis se tait au lieu d ecrire
faux, mais la frontiere restait sans route de retour vers le locataire. Le fichier
est cree ; la derivation rend maintenant 10.0.4.41.

ASN 65031 et controleur EVPN0031, derives de l index du site plutot que repris de
Chezlepro (65000) : les deux sites ont vocation a etre relies, et deux clusters qui
echangent des routes avec le meme numero d AS produisent une panne dont le message
ne parle pas d AS.

COLLECTE.md ne demande plus que ce qui se releve : le nom de la carte reseau, les
deux adresses de la frontiere, les neuf noms d interfaces optN. Plus un chiffre a
mesurer avant de materialiser — quinze clones complets font environ 600 Go sur
local-lvm.

Federation : 5 instances, aucun index en collision (13, 17, 23, 29, 31, 37).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
2026-09-13 14:16:37 -04:00
28d278111c un site prend son propre index, et la garde les compte enfin
Decision de l exploitant : sites et locataires se partagent la classe A,
chacun avec son propre index. L exception du guide — un site derive du meme
index que son tenant — disparait.

Ce qu elle cachait : le plan d administration du site vit dans 10.17.0.0/24,
a l interieur du supernet du locataire OPS-Chezlepro. Pas dangereux, mais
10.17.0.0/16 designait deux choses. Et les zones du site ne derivaient de
rien — le site etait la seule partie du systeme sans seed.

La seconde liste nait avec cette decision : un site et un locataire peuvent
desormais reclamer le meme nombre, et make instances ne voyait que les depots
OPS-*. La decouverte lit maintenant SITE-*/underlay.yml et son champ index.
Un site sans index declare reste hors du compte.

SITE-Technolibre : squelette du deuxieme site pour la visite du 14. Un seul
noeud Proxmox en version 9, meme forme que Chezlepro, adresse depuis l index
31. COLLECTE.md liste les 35 valeurs a relever.

Reste a l exploitant : OPS-Chezlepro passe a 37, ce qui libere 17 pour le
site qui l utilise deja.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
2026-09-12 14:31:52 -04:00
912a84483f squelette du site de Technolibre, et la liste de ce qu il faut relever
Un seul noeud Proxmox en version 9, une frontiere OPNsense. Trois
consequences ecrites dans le README : le SPOF est total, les clones sont
complets (un clone lie n achete rien sans second noeud), et rien n a jamais
tourne contre un PVE 9.

Le chiffre a verifier avant de cabler : 57 Go de RAM pour le site et son
locataire sur la meme machine. La RAM est la contrainte dure.

Adressage au statu quo : gestion en 10.23.0.0/24, zones du site en
10.0.31-36 comme chez Chezlepro. Consequence connue et ecrite : les deux
sites ne pourront pas etre relies tant qu aucun n est renumerote.

COLLECTE.md liste dans l ordre ce qui doit etre releve sur place, dont la
question de forme : ce qu il y a entre le noeud et l OPNsense decide du mode
de routage.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
2026-09-12 14:16:58 -04:00