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
16 KiB
Glossaire
Tout mot que Set-OPS te met sous les yeux se trouve ici. Chaque entrée dit ce que c'est, et pourquoi ce dépôt s'en sert — pas seulement sa définition.
Les mots en italique renvoient à une autre entrée ; les liens mènent à l'unité d'apprentissage qui développe la notion.
Règle de ce glossaire. Un terme employé par le dépôt et absent d'ici est un défaut. La preuve P39 le vérifie. Ce qu'elle ne peut pas voir : un mot que personne n'a pensé à déclarer — elle garde une liste, elle ne devine pas.
Le plan, et ce qui en dérive
Plan — La source unique de vérité (instance/plan/ : serveurs, applications, bases,
domaines, nomenclature). On l'édite ; l'inventaire en est généré, jamais l'inverse.
Index (seed) — Le seul intrant d'adressage d'une instance. Tout en descend :
supernet 10.<index>.0.0/16, VLAN 1000+index×10+zone, VMID, VNet. Unique dans la
fédération. Cf. Le plan & l'adressage dérivé.
Adressage dérivé — Les adresses ne sont pas saisies, elles se calculent. Deux valeurs ne peuvent donc pas se contredire : il n'y en a qu'une, et le reste en découle.
Nomenclature — Le registre du modèle réseau : zones, placement des fonctions, et l'index. Ne contient aucune adresse (preuve P20).
Zone — Un domaine de sécurité : un /24 et un VLAN. Frontière, Identité, Données,
Services-infra, Observabilité, Applications. Un pare-feu les sépare.
Supernet — Le grand bloc d'adresses d'un tenant (10.29.0.0/16), dont ses zones
découpent des tranches.
CIDR — La notation 10.29.16.0/24 : une adresse, puis le nombre de bits figés.
/24 fige les trois premiers nombres — 254 machines possibles.
DIFF VIDE — État sain : le plan reproduit exactement l'inventaire appliqué.
Vérifié par make instancier.
Instance — Un écosystème réel (../OPS-<nom>) : son domaine, son index, sa voûte.
L'active est celle que pointe le lien instance/.
Tenant — Le même objet, vu depuis la fédération : un écosystème isolé parmi d'autres.
Fédération — L'ensemble des instances qui cohabitent sur une infrastructure partagée, chacune avec son index. Cf. Multi-instance & fédération.
federe: false — Drapeau qui exclut une instance des devis du site : ni VLAN, ni
règles de frontière, ni VNet ne lui sont réservés. Pour un bac à sable local, ou pour un
écosystème encore à l'état de plan.
Modèle — Un plan générique réutilisable, sans voûte. Le dépôt public en fournit
un (exemples/modeles/socle) ; les modèles assemblés par offre — forge, identite,
collaboration… — vivent dans le dépôt privé Set-OPS-modeles.
Socle — Le modèle minimal public, quatre VM : DNS interne (PowerDNS), PKI (step-ca), edge TLS (nginx) et magasin courriel (Dovecot). C'est un magasin de boîtes, pas un relais : le MTA s'ajoute ensuite.
Liaison (binding) — Relation déclarée entre entités du plan (app→base, app→app), résolue par le moteur. Cf. Liaisons (bindings).
Hôte fantôme — Erreur de plan : une application posée sur un hôte non déclaré. Refusée par la preuve P06.
Les machines
VM — Machine virtuelle : un ordinateur complet simulé par un hyperviseur.
Hyperviseur — La machine physique qui fait tourner les VM. Ici : Proxmox.
Gabarit (template) — Une VM figée qui sert de moule. Chaque machine de la flotte
en est un clone. Le gabarit doré de Set-OPS s'appelle modeleSetOPS.
Clone — La copie du gabarit qui devient une machine réelle. Deux minutes, contre une installation complète.
VMID — Le numéro d'une VM sur le cluster. Set-OPS le dérive (schéma ip-miroir) au lieu de le tirer au hasard.
ip-miroir — Schéma où le VMID contient l'adresse IP et le tenant : le numéro se lit d'un coup d'œil.
cloud-init — Le mécanisme qui configure une VM à sa toute première seconde : adresse IP, nom, clé SSH. Sans lui, un clone naîtrait identique à son moule, jumeau de tous les autres.
Snapshot — Photo d'une VM à un instant. Utile pour revenir en arrière ; ce n'est pas une sauvegarde (elle vit sur le même stockage).
systemd — Le chef d'orchestre des services d'une machine Linux : il démarre, arrête et surveille. « Un service » veut dire « une unité systemd ».
Ansible : décrire au lieu d'exécuter
Ansible — L'outil qui applique une description à des machines, par SSH. Cf. Infra as Code & idempotence.
Playbook — Un fichier qui dit quoi appliquer, à qui. Ici : un par groupe
(playbooks/groupes/<groupe>.yml).
Rôle — Le paquet qui sait installer et configurer une chose (serveur_nginx,
client_backup). C'est l'unité réutilisable.
Inventaire — La liste des machines et de leurs groupes (hosts.yml). Généré depuis
le plan : on ne l'édite jamais à la main.
group_vars — Les valeurs d'un groupe de machines, rangées par fichier. C'est là que vivent les intrants non secrets.
Handler — Une action qui ne se déclenche que si quelque chose a changé — typiquement recharger un service quand sa configuration a bougé.
Idempotence — Rejouer la même description dix fois donne le même résultat. La deuxième
exécution ne change rien (changed=0). C'est ce qui rend une reconstruction sûre.
Voûte (vault) — Le fichier chiffré des secrets d'une instance. Jamais dans un
modèle, jamais en clair. Seul le gabarit vault.yml.example — des noms, pas des
valeurs — est versionné.
Le réseau
→ Unité complète : Le réseau des tenants
Underlay — Le réseau physique : câbles, commutateurs, adresses des hyperviseurs. Il ne connaît aucun tenant.
Overlay — Les réseaux virtuels des tenants, transportés par-dessus l'underlay.
VLAN — Une étiquette posée sur chaque trame pour séparer des réseaux qui partagent un câble. Limite : 4094 étiquettes, et chaque commutateur doit les connaître.
VXLAN — L'encapsulation : la trame d'un tenant voyage dans une enveloppe. Le réseau physique ne voit que des colis. L'enveloppe coûte 50 octets — d'où le MTU 1450.
EVPN — Le mécanisme par lequel les hyperviseurs s'annoncent les machines qu'ils hébergent. Sans lui, la table des destinations serait tenue à la main.
SDN — Software-Defined Networking : le réseau se décrit et se pose par API, au lieu de se câbler à la main.
VNet — Le réseau virtuel d'une zone d'un tenant (t29fron) : le point où la carte
d'une VM se branche.
VRF — Une table de routage étanche. Dans celle du tenant A, les réseaux du tenant B n'existent pas. Ce n'est pas une interdiction, c'est une ignorance.
Strophe (FRR) — Le bloc de configuration qu'on pose par tenant dans
/etc/frr/frr.conf.local, sur chaque hyperviseur : sa sortie et son puits.
FRR — Le démon de routage des hyperviseurs (FRRouting).
nexthop-vrf — Emprunter une seule adresse à une autre table de routage, au lieu
d'importer celle-ci en entier. La différence entre une porte et un mur abattu.
Blackhole (puits) — Une route qui absorbe le trafic vers les adresses non attribuées d'un tenant, pour qu'il ne parte pas errer ailleurs.
MTU — La plus grosse trame qu'un lien accepte. 1500 par défaut ; 1450 dans l'overlay (l'enveloppe VXLAN prend 50). Se tromper suspend les grosses réponses sans casser les petites — la panne la plus déroutante du domaine.
SVI — L'adresse de passerelle portée par un commutateur pour un VLAN. Set-OPS ne s'en sert plus : le routage des tenants vit sur l'hyperviseur (VRF).
Pont (bridge) — Le commutateur virtuel d'un hyperviseur (vmbr1). Les VM de la
flotte se branchent sur leur VNet, pas sur un pont nu.
IPAM — Le registre qui attribue les adresses. Ici, c'est la dérivation : personne ne tient de liste.
Spanning-tree (STP) — Le protocole qui empêche une boucle de commutateurs de saturer le
réseau. Il élit une racine ; c'est ce que désigne routeur dans l'underlay.
MLAG — Deux commutateurs qui se font passer pour un seul. Set-OPS n'en a pas — d'où
les chemins doublés ailleurs (MPIO côté stockage, active-backup côté flotte). (Cette
entrée concluait « d'où un seul commutateur qui route » : plus aucun ne route. Le routage
des tenants vit sur l'hyperviseur, cf. l'entrée SVI ci-dessus.)
nftables — Le pare-feu de chaque machine Linux. Set-OPS le dérive du registre des flux.
Policy drop — Politique par défaut : tout ce qui n'est pas autorisé est refusé. Sans
règles chargées, elle mure la machine — d'où l'importance de make flux.
Frontière — Le pare-feu de bordure (OPNsense), entre l'écosystème et l'extérieur. Hors flotte Ansible : piloté par API.
FQDN — Le nom complet d'une machine, forge.genese.internal — pas seulement forge.
Les noms
→ Unité complète : DNS & résolution
DNS — L'annuaire qui traduit un nom en adresse.
Le plancher — La première couche de résolution : /etc/hosts, posé par le socle
avant que le DNS existe. Sans lui, rien ne peut s'amorcer.
Résolveur — Le service qui pose les questions au DNS pour une machine (ici Unbound, local à chaque hôte).
Reverse proxy — Le portier : il reçoit toutes les requêtes web et les distribue au bon service derrière. Cf. Reverse-proxy & TLS.
vhost — La configuration d'un site dans le reverse proxy : quel nom, vers quel service.
WAF — Filtre qui inspecte les requêtes web et bloque les attaques connues.
Edge — La machine de bordure qui publie les services web (ici nginx).
La confiance
→ Unité complète : PKI & confiance
PKI — L'ensemble qui fabrique et gère les certificats.
CA (autorité de certification) — Celle qui signe les certificats. Ici, step-ca,
interne : l'écosystème est sa propre autorité.
Certificat — Une pièce d'identité pour une machine : ce nom, cette clé, signé par la CA.
ACME — Le protocole qui automatise la demande et le renouvellement d'un certificat. Personne ne le fait à la main.
SAN — Les noms qu'un certificat couvre. Set-OPS les dérive du plan.
TLS — Le chiffrement d'une connexion (le « s » de https).
mTLS — TLS des deux côtés : le client prouve aussi son identité. C'est le zéro-confiance entre serveurs.
L'identité
→ Unité complète : Identité & SSO
LDAP — L'annuaire des personnes et des groupes : la source de vérité des identités.
LDAPS — LDAP chiffré.
SSO — Single Sign-On : une seule authentification pour toutes les applications.
OIDC — Le protocole moderne du SSO sur le web. C'est lui derrière « Se connecter avec… ».
SAML — L'ancêtre d'OIDC, encore répandu en entreprise.
Realm — Le « royaume » d'un serveur d'identité : un espace de comptes, de groupes et de règles. Un par écosystème.
RBAC — Donner des droits à des rôles, pas à des personnes. Cf. Autorisation & RBAC.
Le courriel
→ Unité complète : Courriel (SMTP/IMAP)
SMTP — Le protocole qui transporte un courriel d'un serveur à l'autre.
MTA — Le serveur qui fait ce transport (ici Postfix).
IMAP — Le protocole par lequel tu lis ta boîte, depuis ton téléphone ou ton client.
LMTP — Le dernier mètre : le MTA remet le message au serveur qui détient les boîtes (ici Dovecot).
DKIM — La signature qui prouve qu'un courriel vient bien de ton domaine.
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 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.
Sauvegarde vs snapshot — L'infrastructure se reconstruit depuis le code ; seul l'état (annuaire, bases, courriel, forge) se sauvegarde. Cf. Sauvegardes.
Devis — Une commande qui interroge le système réel et montre l'écart avec le plan,
sans rien écrire (make sdn-plan, make placement-plan).
Preuve (Pxx) — Une vérification rejouable de make prouver qui garde une classe
d'erreur. Cf. La preuve.
Source unique — Le principe qui traverse tout le dépôt : une information vit à un endroit, et tout le reste en dérive. Neuf copies d'une même règle ne vieillissent pas ensemble — et la divergence ne se voit jamais de l'intérieur d'une copie.
Résolution d'instance — Comment un script sait quel écosystème il regarde : la
variable SETOPS_INSTANCE, sinon le lien instance. Une seule fonction y répond pour tout
le moteur (inventory_rules.instance_courante) ; la preuve P41 refuse qu'on en réécrive
une deuxième.
Harnais — L'ensemble des preuves. Un make prouver vert veut dire : aucune des classes
d'erreur connues n'est présente.
Chèque vert sur un périmètre vide — Le piège central de ce dépôt : une vérification qui réussit sans rien avoir mesuré. Une sauvegarde de zéro fichier, un devis qui lit un intrant périmé, une preuve qui ne peut pas échouer. À chaque « ✅ », se demander sur quoi il a porté.
GUI — La console web d'exploitation (make inventaire-ui). Cf.
Le GUI.
CI — La vérification automatique à chaque poussée (make ci la rejoue à l'identique).
La filiation
→ Unité complète : Filiation, signatures & témoins
Génome — Les quatre dépôts sans lesquels un écosystème ne peut pas être refabriqué :
le moteur, l'instance, le dépôt de l'hébergeur, les modèles. make genome les nomme.
Parenté — Le fichier parente.yml d'une instance : de quel moteur elle descend, à quel
commit, sous quelle étiquette signée. Sans lui, un écosystème ne sait plus d'où il vient.
Commit — Un instantané du dépôt, qui porte l'empreinte du précédent. Modifier le passé change toutes les empreintes suivantes : c'est ce qui rend une histoire vérifiable.
Empreinte (hachage) — Une courte signature calculée d'un contenu. Deux contenus différents n'ont pas la même — c'est ce qui permet de détecter une modification.
Arbre de Merkle — La structure où chaque élément porte l'empreinte du précédent. Git en est un ; une blockchain aussi. L'intégrité vient de là, pas d'une chaîne de blocs.
Étiquette (tag) — Un nom posé sur un état précis du dépôt (v2026.08.21). Signée, elle
devient un point de repère vérifiable : « c'est de cet état-là que je descends ».
Signature — Le scellé posé avec une clé privée. Qui a la clé publique peut vérifier ; qui n'a pas la privée ne peut pas contrefaire. Sans elle, un nom d'auteur est déclaratif.
.git-allowed-signers — Le registre, versionné, des clés autorisées à signer cette
lignée. Retirer une ligne révoque pour la suite ; le passé signé reste vérifiable.
Témoin — Une copie vivante et indépendante du génome. Réécrire l'histoire suppose de convaincre tous les témoins : c'est la lignée elle-même qui protège la lignée.
Journal de transparence — Un registre append-only, auditable par un tiers (Certificate Transparency, Sigstore). La réponse mûre quand plusieurs organisations doivent constater les mêmes faits sans se faire confiance — et l'alternative sobre à une blockchain.
Horodatage (RFC 3161) — Prouver qu'un document existait à une date, par un tiers.