Publication du wiki depuis le depot (source: d461492)
parent
cb20bb57cf
commit
777de741e4
1 changed files with 43 additions and 0 deletions
|
|
@ -133,6 +133,46 @@ d'instance, devis de configuration des switches.
|
|||
|
||||
---
|
||||
|
||||
### La vue **Assistants** — l'ordre des gestes, pas seulement les gestes
|
||||
|
||||
Les huit autres vues éditent le **plan**. Celle-ci conduit des **gestes**, et elle répond à un
|
||||
trou précis : le `Makefile` porte **132 cibles documentées** qui disent chacune *ce qu'elle
|
||||
fait*, et **aucune ne dit dans quel ordre**. Un exploitant devant un site neuf n'avait aucun
|
||||
moyen d'apprendre, depuis la console, que `site-creer` précède `forge-amorcer`, que le premier
|
||||
passage **s'arrête** sur une forge vide, ni que rien n'est « prêt » avant `valider`. Cette
|
||||
connaissance vivait en prose dans les documents ; la console offrait des boutons sans séquence.
|
||||
|
||||
**Dix-sept assistants, 126 étapes, et la totalité des 132 cibles.** Chaque cible documentée est
|
||||
soit portée par un assistant, soit **exemptée avec son motif** — et `P83` refuse qu'une cible
|
||||
échappe aux deux. Sans cette garde, la console cacherait un pouvoir que le moteur possède.
|
||||
|
||||
**Le registre ne recopie pas le Makefile.** `docs/runbooks-construction.yml` déclare seulement
|
||||
ce que le Makefile ne peut pas porter : l'**ordre**, la **nature** du geste, la **portée** et le
|
||||
**pourquoi**. Le libellé de chaque étape est *lu dans le Makefile au moment de servir*. Une
|
||||
cible renommée se voit donc immédiatement, elle ne s'invente pas — c'est la règle « une liste
|
||||
qui suit une autre prend du retard », et la garde est écrite **en même temps** que la liste.
|
||||
|
||||
**Trois natures, trois comportements** :
|
||||
|
||||
| Nature | Ce que la console fait |
|
||||
|---|---|
|
||||
| `mesure` | n'écrit rien ; **toujours offerte**, même après un échec — mesurer pour comprendre est exactement ce qu'on fait ensuite |
|
||||
| `écriture` | exige que l'étape précédente **non facultative** ait réussi ; sinon on bâtit sur un terrain non vérifié |
|
||||
| `destructif` | exige d'**écrire `DETRUIRE`**, en plus du `CONFIRMER=true` que la cible réclame déjà |
|
||||
|
||||
**Le navigateur ne nomme pas une commande, il nomme une place.** `/api/runbook-etape` ne lance
|
||||
jamais « la cible que la page demande » : il lance ce que le registre déclare **à cet index-là**,
|
||||
avec les seules variables déclarées. Une page compromise — ou simplement périmée — ne peut donc
|
||||
pas réclamer `raser` depuis un assistant de mesure. L'index compte : « Le premier jour d'un
|
||||
site » lance `site-deployer-tout` **deux fois**, et les deux places n'ont pas le même sens.
|
||||
|
||||
**La portée décide, et elle se dérive.** Un assistant de site exige `materialiser`, un assistant
|
||||
de locataire `configurer`, un assistant de poste **les deux**. Un assistant hors de portée reste
|
||||
**visible et lisible** : savoir que le geste existe, et chez qui il se fait, fait partie du
|
||||
métier. Ce qui est refusé, c'est de le lancer — et le refus dit sa raison.
|
||||
|
||||
---
|
||||
|
||||
## ③ Pourquoi c'est transférable
|
||||
|
||||
| Set-OPS | Équivalents ailleurs |
|
||||
|
|
@ -168,5 +208,8 @@ saisie** — pas « le GUI de Set-OPS ».
|
|||
## Pour aller plus loin *(dépôt)*
|
||||
- Lancer : `make inventaire-ui` ; le code : `scripts/inventory_gui.py`.
|
||||
- Ce que le GUI sait écrire (et la preuve) : `scripts/couverture_gui.py` (P19).
|
||||
- Les assistants : `docs/runbooks-construction.yml`, lus par `scripts/runbooks.py` (P83).
|
||||
Vérifier le registre sans lancer la console : `python3 scripts/runbooks.py verifier`,
|
||||
et le lire en texte : `python3 scripts/runbooks.py lister`.
|
||||
- Le flux plan → apply : unité **[Infra as Code & idempotence](Infra-as-Code-et-idempotence)**.
|
||||
- La flotte : unité **[Multi-instance & fédération](Multi-instance-et-fédération)**.
|
||||
|
|
|
|||
Loading…
Reference in a new issue