Set-OPS-Public/wiki/Reprendre-l-écosystème.md
Daniel Allaire 5bc3bceac1
Some checks failed
verifier / verifier (push) Has been cancelled
documentation : la tournee des 74 documents, parce qu un balayage ne lit pas
La revision a commence par un balayage par motifs — chemins morts, cibles make
absentes, comptes derives. Il a trouve une trentaine d ecarts et rate presque
tout le reste : un motif ne voit que ce qui s exprime en motif.

make hote-planifier en est l exemple. La cible EXISTE, donc le controle passait
au vert. C est une cible depreciee qui refuse et sort en 2, recommandee par
AGENTS.md, et qui contredit la REGLE D OR du meme fichier trois ecrans plus
haut. Il fallait lire pour la voir.

74 documents lus un par un. 66 corriges, 8 exacts.

CE QUI ETAIT FRANCHEMENT FAUX

AGENTS.md, la source d autorite, annoncait la flotte pas encore executee contre
des VM reelles. Elle a ete rasee et remontee depuis zero trois fois.
ecosysteme-chezlepro.md, le document montre a un client, portait la meme
phrase : il se sous-vendait gravement.

courriel-conception.md s ouvrait sur aucun role n est encore ecrit, au-dessus de
son propre paragraphe 1 qui les nomme. autorisation.md se terminait sur rien n
est construit alors qu il rapporte des mesures datees du role en fonctionnement.
hebergeur-exploitation.md disait rien n est fait d un depot qui existe.
filiation-emancipation.md se contredisait a deux ecrans de distance.

DES MODELES DECRITS D APRES UN MONDE ANTERIEUR

Le resolveur : cinq documents decrivaient un Unbound par VM en opt-in, trois le
donnaient en exemple d integration FACULTATIVE — il est universel depuis le
2026-08-24. L adressage de nomenclature-vm.md : reseau unique, VLAN 11-15, VMID
a cinq chiffres. Le nommage SDN de sdn-evpn.md contre le code : c est le wiki
qui avait raison.

CE QUI CASSE AU PREMIER ESSAI

Le nom du gabarit dore etait faux a quatre endroits, dont la procedure qui le
FABRIQUE et le critere R2 de l epreuve d operateur independant.
preparer-un-site-hebergeur.md avertissait qu une VM faite a la main serait
detruite : raser derive du plan, il ne la detruira jamais — le risque est l
inverse. Un mot de passe d essai en clair dans un depot public.

DEUX PREUVES ETENDUES, ET UNE QUI SE TROMPAIT ELLE-MEME

P57 couvre les groupes : elle a signale aussitot 29 groupes annonces au-dessus d
un tableau qui en cite 40. P29 confronte le tableau de authentification.md aux
declarations reelles : 12 annonces, 21 reels.

Et P57 imposait un chiffre faux — 56 preuves alors que le depot en porte 57, la
conditionnelle vivant hors de tout comptage. Un garde-fou qui fait respecter une
erreur ajoute l assurance a l erreur.

CE QUI RESTE, ET QU AUCUNE PREUVE NE TIENT

Deux comptes trouves a la main. Et une lacune reelle : rien ne garde les
meta/acces.yml — ni qu un service web-sso en porte un, ni que le groupe qu il
nomme existe. P29 tient les positions d authentification, personne ne tient les
habilitations.

make prouver : CONFORME, 56 OK, 0 echec, 1 saute. 0 lien mort.

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

7 KiB

Reprendre l'écosystème — tu viens d'hériter de tout ça

Pour qui : l'exploitant qui reprend un écosystème Set-OPS déjà déployé — livraison, passation, ou retour après six mois. Ce n'est pas une unité d'apprentissage : c'est un ordre d'opérations. Il ne contient presque rien en propre, il t'envoie au bon endroit dans le bon ordre.

La règle avant toutes les autres : ce wiki est publié depuis le dépôt (wiki/). Une page modifiée dans l'interface de la forge est détruite à la publication suivante. On lit ici, on écrit dans le dépôt.


① Dans quel état hérites-tu ?

Avant de toucher à quoi que ce soit. Tu ne sais pas encore si tu reprends un système sain ou une panne déjà commencée, et personne ne te le dira. Ces commandes ne modifient rien et sortent en erreur s'il y a un écart entre ce qui tourne et ce que le plan décrit.

make instance-courante   # vers quel écosystème pointe l'instance active ?
make prouver             # le dépôt est-il cohérent avec lui-même ? (aucun appel réseau)

make identite-plan       # realm, fédération LDAP, mappeurs, politique de mot de passe, comptes
make certificats-plan    # ce que le disque porte contre ce que la mémoire sert
make expositions-plan    # chaque service publié répond-il — depuis l'edge et depuis ton poste
make postgresql-plan     # le chiffrement est-il imposé, et à quels réseaux
make courriel-plan       # Postfix → LDAP → LMTP → Dovecot → IMAP, file d'attente comprise
make frontiere-mesurer   # ce qui n'est pas déclaré à la frontière est-il refusé ?

Quelques minutes pour ce qui demandait une journée d'enquête à la main. C'est aussi le premier réflexe après la reprise : après tout changement, après une panne, avant d'appeler quelqu'un.

make prouver ne suffit pas, et c'est important de le savoir tout de suite. Il lit le dépôt, jamais les machines. Le 2026-08-08, l'autorité de certification de la flotte est restée expirée huit heures sous un harnais entièrement vert. Voir Vérifier le déployé.

Détail de ce que chaque devis vérifie — et de ce qu'il ne vérifie pas : docs/devis-services.md.


② Entrer

Un prérequis et trois pièges, tous à la première connexion. Le runbook complet est dans docs/autorisation.md §6 ; voici l'ordre et la raison de chaque geste.

1. La clé de voûte — une voûte, une clé. Chaque dépôt a sa clé, nommée d'après lui : ~/.config/setops-vault-<dépôt-en-minuscules>. Il n'y a rien à exporter — le Makefile les rassemble seul (scripts/voutes.py → ANSIBLE_VAULT_IDENTITY_LIST). Pour voir ce que cette machine peut ouvrir :

python3 scripts/voutes.py etat

Sans la clé de ton écosystème, rien n'est possible — ni les devis ci-dessus, ni un déploiement. C'est la première chose à sortir de la machine (make cles-exporter, cf. docs/sortir-les-cles-du-poste.md), avec les vault.yml de chaque instance, qui ne sont pas versionnés.

Ce paragraphe a désigné un ANSIBLE_VAULT_PASSWORD_FILE unique jusqu'au 2026-09-06. Ce n'est plus le mécanisme, et la raison compte : un seul mot de passe ouvrait alors toutes les voûtes de la flotte, celle de l'hébergeur comprise. Compromettre le plus petit locataire, c'était obtenir les secrets de tous.

2. Le mot de passe d'amorçage, à changer avant tout le reste (§6.1). L'annuaire refuse toute opération tant qu'il n'est pas changé, sauf le changement lui-même. Ce n'est pas optionnel.

3. La racine mène à la mauvaise console (§6.2). https://auth.<domaine>/ redirige vers la console du realm master, où ton compte n'existe pas. Keycloak répond « invalid username or password » — exact, et parfaitement trompeur : le mot de passe est bon, c'est la porte qui ne l'est pas.

4. Fais confiance à l'AC interne (§6.3), sinon ton navigateur criera sur chaque service. make ca-racine récupère la racine et son empreinte, make ca-empreinte la relit sur l'AC elle-même — c'est le témoin auquel comparer avant d'installer quoi que ce soit.

Et si tu te fermes dehors : §6.5.


③ De quoi c'est fait

Rien de tout ça n'est écrit à la main — tout se dérive du plan, et c'est le sujet de Le plan & l'adressage dérivé. Demande-le plutôt que de le lire quelque part :

make inventaire                    # vérifie l'inventaire et affiche le graphe des groupes
make hote-afficher HOTE=<nom>      # tout ce que le plan dérive pour un hôte
make inventaire-ui                 # la même chose, en console web
Pour comprendre Va lire
ce que fait chaque service et pourquoi celui-là Accueil du wiki, unités d'apprentissage
qui parle à qui, sur quel port docs/flux-conception.md
comment un service en atteint un autre Liaisons (bindings)
la carte du dépôt, pour modifier docs/carte-set-ops.md

④ Quand ça casse

Les procédures : docs/runbooks-exploitation.md.

Deux réflexes qui évitent la moitié des fausses pistes :

  • Un certificat renouvelé sur disque n'est pas un certificat servi. Tant que nginx, Postfix ou slapd n'ont pas été rechargés, ils servent l'ancien depuis la mémoire. make certificats-plan compare les deux, justement.
  • Répare avec make deployer, constate avec les devis. Ce sont deux gestes différents, et les confondre fait perdre l'information au moment où elle sert.

⑤ Ce qui va te mentir

Un écosystème ne tombe pas en panne franchement : il te donne d'abord un signal faux. Et un signal faux coûte une demi-journée à qui n'est pas prévenu.

La règle qui les couvre tous : quand une mesure accuse un composant, vérifie d'abord que ton instrument mesure ce que tu crois. Une sonde porte toujours un contrôle — une cible dont tu connais déjà la réponse. Si le contrôle ment, ne conclus rien.

Les trois que tu rencontreras, et où chacun est traité :

Le signal Ce qu'il te fera croire Où c'est expliqué
un connect() TCP qui réussit vers le vide que le port est ouvert docs/frontiere-opnsense.md — la frontière répond à la poignée sans jamais relayer. Le contrôle : sonder 172.31.99.99, et n'accepter que la livraison. C'est ce que fait make frontiere-mesurer.
make prouver tout vert que le système va bien Vérifier le déployé — les preuves lisent le dépôt, jamais les machines.
Connection timed out during banner exchange que le réseau est en cause docs/runbooks-exploitation.md §3 — c'est le plus souvent une VM pas encore là, ou sshd qui refuse une rafale.

Ce que tu dois changer en priorité

Avant d'oublier, et c'est dans docs/autorisation.md §6.8 : le mot de passe d'amorçage (section ② ci-dessus), les secrets restants de la voûte, et tout accès hérité de la livraison qui n'est pas à toi.