wiki : « Reprendre l'ecosysteme » — la porte qui manquait
La documentation est organisee par SUJET, ce qui est juste pour de la
reference. Mais personne n'arrive avec un sujet : on arrive avec une
SITUATION. Il y en a quatre, trois avaient deja une porte, celle de
l'exploitant qui herite n'en avait aucune.
La page ne contient presque rien en propre : un ORDRE et des renvois, en
cinq temps. Dans quel etat tu herites (les six devis avant tout geste) ;
entrer (la cle de voute, l'amorcage, la racine qui mene a la mauvaise
console, l'AC dans le navigateur) ; de quoi c'est fait (a demander au plan,
pas a lire) ; quand ca casse ; et ce qui va te mentir.
Elle declare son lecteur en premiere ligne — la convention qui empeche la
rechute : un runbook de reprise enterre dans autorisation.md parce que le
SUJET est l'autorisation, personne ne va l'y chercher.
Home.md et _Sidebar.md l'annoncent, et disent desormais la regle du miroir :
une page editee dans l'interface de la forge est DETRUITE a la publication
suivante (wiki-publier fait un delete puis recopie). On lit dans le wiki, on
ecrit dans le depot.
Chaque cible make et chaque renvoi verifies un a un : `make ca-installer`
n'existait pas, c'est `ca-racine` + `ca-empreinte`. Le plan de recette (P22)
ne bouge pas : la page n'est pas une unite d'apprentissage.
La page « Ce qui va te mentir » est annoncee sans lien tant qu'elle n'existe
pas — une porte qui pointe dans le vide est pire que pas de porte.
Verifie : prouver.py 0 (33 OK), plan-recette inchange.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-09 23:48:27 -04:00
# 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é](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.** Le mot de passe de la voûte est lu depuis
`ANSIBLE_VAULT_PASSWORD_FILE` (`~/.config/setops-vault-pass` par défaut). **Sans ce fichier,
rien n'est possible** — ni les devis ci-dessus, ni un déploiement. C'est la première chose à
sauvegarder hors de la machine, avec les `vault.yml` de chaque instance, qui ne sont pas
versionnés.
**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é ](Le-plan-et-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 ](Home ), unités d'apprentissage |
| qui parle à qui, sur quel port | `docs/flux-conception.md` |
| comment un service en atteint un autre | [Liaisons (bindings) ](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
doc : pas de page « ce qui va te mentir » — les pieges ont trouve leur domicile
Trois des cinq pieges restants avaient deja une page depuis que la semaine a
avance : le connect() vers le vide (frontiere-opnsense.md + le controle porte
par frontiere-mesurer), le `make prouver` vert (wiki « Verifier le deploye »),
et le banner exchange. Les deux orphelins — kcadm -s sur une map, grafana-cli
dans une base fantome — s'adressent a qui ECRIT du code, pas a qui reprend
l'exploitation : ils n'ont rien a faire dans un chemin de reprise.
Une page separee aurait redit ce que trois autres disent deja, et aurait donc
vieilli mal — le reproche exact qu'on faisait a sa version longue.
La section ⑤ de « Reprendre l'ecosysteme » porte desormais la REGLE qui les
relie (verifier l'instrument avant d'accuser le composant) et un tableau de
trois lignes qui renvoie chacune a son domicile. Plus de promesse en attente.
Et le banner exchange n'avait AUCUN domicile : le savoir vivait dans un
commentaire du Makefile et trois entrees du CHANGELOG — nulle part ou on le
cherche, exactement le mal que la refonte traite. Ecrit en runbook §3, avec
ses trois causes par frequence et ce qui tranche dans l'ordre.
runbooks-exploitation.md declare aussi son lecteur, comme le veut la
convention validee.
Verifie : chaque renvoi controle un a un, prouver.py 0 (33 OK), plan-recette
inchange.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-09 23:59:02 -04:00
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.
wiki : « Reprendre l'ecosysteme » — la porte qui manquait
La documentation est organisee par SUJET, ce qui est juste pour de la
reference. Mais personne n'arrive avec un sujet : on arrive avec une
SITUATION. Il y en a quatre, trois avaient deja une porte, celle de
l'exploitant qui herite n'en avait aucune.
La page ne contient presque rien en propre : un ORDRE et des renvois, en
cinq temps. Dans quel etat tu herites (les six devis avant tout geste) ;
entrer (la cle de voute, l'amorcage, la racine qui mene a la mauvaise
console, l'AC dans le navigateur) ; de quoi c'est fait (a demander au plan,
pas a lire) ; quand ca casse ; et ce qui va te mentir.
Elle declare son lecteur en premiere ligne — la convention qui empeche la
rechute : un runbook de reprise enterre dans autorisation.md parce que le
SUJET est l'autorisation, personne ne va l'y chercher.
Home.md et _Sidebar.md l'annoncent, et disent desormais la regle du miroir :
une page editee dans l'interface de la forge est DETRUITE a la publication
suivante (wiki-publier fait un delete puis recopie). On lit dans le wiki, on
ecrit dans le depot.
Chaque cible make et chaque renvoi verifies un a un : `make ca-installer`
n'existait pas, c'est `ca-racine` + `ca-empreinte`. Le plan de recette (P22)
ne bouge pas : la page n'est pas une unite d'apprentissage.
La page « Ce qui va te mentir » est annoncee sans lien tant qu'elle n'existe
pas — une porte qui pointe dans le vide est pire que pas de porte.
Verifie : prouver.py 0 (33 OK), plan-recette inchange.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-09 23:48:27 -04:00
doc : pas de page « ce qui va te mentir » — les pieges ont trouve leur domicile
Trois des cinq pieges restants avaient deja une page depuis que la semaine a
avance : le connect() vers le vide (frontiere-opnsense.md + le controle porte
par frontiere-mesurer), le `make prouver` vert (wiki « Verifier le deploye »),
et le banner exchange. Les deux orphelins — kcadm -s sur une map, grafana-cli
dans une base fantome — s'adressent a qui ECRIT du code, pas a qui reprend
l'exploitation : ils n'ont rien a faire dans un chemin de reprise.
Une page separee aurait redit ce que trois autres disent deja, et aurait donc
vieilli mal — le reproche exact qu'on faisait a sa version longue.
La section ⑤ de « Reprendre l'ecosysteme » porte desormais la REGLE qui les
relie (verifier l'instrument avant d'accuser le composant) et un tableau de
trois lignes qui renvoie chacune a son domicile. Plus de promesse en attente.
Et le banner exchange n'avait AUCUN domicile : le savoir vivait dans un
commentaire du Makefile et trois entrees du CHANGELOG — nulle part ou on le
cherche, exactement le mal que la refonte traite. Ecrit en runbook §3, avec
ses trois causes par frequence et ce qui tranche dans l'ordre.
runbooks-exploitation.md declare aussi son lecteur, comme le veut la
convention validee.
Verifie : chaque renvoi controle un a un, prouver.py 0 (33 OK), plan-recette
inchange.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-09 23:59:02 -04:00
**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
wiki : « Reprendre l'ecosysteme » — la porte qui manquait
La documentation est organisee par SUJET, ce qui est juste pour de la
reference. Mais personne n'arrive avec un sujet : on arrive avec une
SITUATION. Il y en a quatre, trois avaient deja une porte, celle de
l'exploitant qui herite n'en avait aucune.
La page ne contient presque rien en propre : un ORDRE et des renvois, en
cinq temps. Dans quel etat tu herites (les six devis avant tout geste) ;
entrer (la cle de voute, l'amorcage, la racine qui mene a la mauvaise
console, l'AC dans le navigateur) ; de quoi c'est fait (a demander au plan,
pas a lire) ; quand ca casse ; et ce qui va te mentir.
Elle declare son lecteur en premiere ligne — la convention qui empeche la
rechute : un runbook de reprise enterre dans autorisation.md parce que le
SUJET est l'autorisation, personne ne va l'y chercher.
Home.md et _Sidebar.md l'annoncent, et disent desormais la regle du miroir :
une page editee dans l'interface de la forge est DETRUITE a la publication
suivante (wiki-publier fait un delete puis recopie). On lit dans le wiki, on
ecrit dans le depot.
Chaque cible make et chaque renvoi verifies un a un : `make ca-installer`
n'existait pas, c'est `ca-racine` + `ca-empreinte`. Le plan de recette (P22)
ne bouge pas : la page n'est pas une unite d'apprentissage.
La page « Ce qui va te mentir » est annoncee sans lien tant qu'elle n'existe
pas — une porte qui pointe dans le vide est pire que pas de porte.
Verifie : prouver.py 0 (33 OK), plan-recette inchange.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-09 23:48:27 -04:00
tu connais déjà la réponse. Si le contrôle ment, ne conclus rien.
doc : pas de page « ce qui va te mentir » — les pieges ont trouve leur domicile
Trois des cinq pieges restants avaient deja une page depuis que la semaine a
avance : le connect() vers le vide (frontiere-opnsense.md + le controle porte
par frontiere-mesurer), le `make prouver` vert (wiki « Verifier le deploye »),
et le banner exchange. Les deux orphelins — kcadm -s sur une map, grafana-cli
dans une base fantome — s'adressent a qui ECRIT du code, pas a qui reprend
l'exploitation : ils n'ont rien a faire dans un chemin de reprise.
Une page separee aurait redit ce que trois autres disent deja, et aurait donc
vieilli mal — le reproche exact qu'on faisait a sa version longue.
La section ⑤ de « Reprendre l'ecosysteme » porte desormais la REGLE qui les
relie (verifier l'instrument avant d'accuser le composant) et un tableau de
trois lignes qui renvoie chacune a son domicile. Plus de promesse en attente.
Et le banner exchange n'avait AUCUN domicile : le savoir vivait dans un
commentaire du Makefile et trois entrees du CHANGELOG — nulle part ou on le
cherche, exactement le mal que la refonte traite. Ecrit en runbook §3, avec
ses trois causes par frequence et ce qui tranche dans l'ordre.
runbooks-exploitation.md declare aussi son lecteur, comme le veut la
convention validee.
Verifie : chaque renvoi controle un a un, prouver.py 0 (33 OK), plan-recette
inchange.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-09 23:59:02 -04:00
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é ](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. |
wiki : « Reprendre l'ecosysteme » — la porte qui manquait
La documentation est organisee par SUJET, ce qui est juste pour de la
reference. Mais personne n'arrive avec un sujet : on arrive avec une
SITUATION. Il y en a quatre, trois avaient deja une porte, celle de
l'exploitant qui herite n'en avait aucune.
La page ne contient presque rien en propre : un ORDRE et des renvois, en
cinq temps. Dans quel etat tu herites (les six devis avant tout geste) ;
entrer (la cle de voute, l'amorcage, la racine qui mene a la mauvaise
console, l'AC dans le navigateur) ; de quoi c'est fait (a demander au plan,
pas a lire) ; quand ca casse ; et ce qui va te mentir.
Elle declare son lecteur en premiere ligne — la convention qui empeche la
rechute : un runbook de reprise enterre dans autorisation.md parce que le
SUJET est l'autorisation, personne ne va l'y chercher.
Home.md et _Sidebar.md l'annoncent, et disent desormais la regle du miroir :
une page editee dans l'interface de la forge est DETRUITE a la publication
suivante (wiki-publier fait un delete puis recopie). On lit dans le wiki, on
ecrit dans le depot.
Chaque cible make et chaque renvoi verifies un a un : `make ca-installer`
n'existait pas, c'est `ca-racine` + `ca-empreinte`. Le plan de recette (P22)
ne bouge pas : la page n'est pas une unite d'apprentissage.
La page « Ce qui va te mentir » est annoncee sans lien tant qu'elle n'existe
pas — une porte qui pointe dans le vide est pire que pas de porte.
Verifie : prouver.py 0 (33 OK), plan-recette inchange.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-09 23:48:27 -04:00
---
## 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.