Set-OPS-Public/roles/serveur_ops/meta/supervision.yml
Daniel Allaire 627ef00ec7 la console d exploitation devient un service, et elle n avait aucune serrure
Le GUI n a aucune authentification : GET / sert la page a qui la demande, jeton
ecrit dedans, et POST /api exige ce jeton que la page vient de donner. Le jeton
garde contre le CSRF, pas contre un visiteur — la seule serrure est
--hote 127.0.0.1. Ce qu il offre a qui entre : deployer, creer, raser, editer le
plan. La fabric entiere.

Le service reste donc sur la boucle locale. Ce qui est publie est un nginx local
qui authentifie d abord : oidc par defaut (oauth2-proxy, donc un groupe
d annuaire qu on revoque sans deploiement), locale en repli pour un ecosysteme
sans annuaire. L authentification est posee au niveau du server, pas d un
location.

La sonde console-ops mesure une SERRURE : une requete anonyme doit etre REFUSEE.
Un 200 y est la pire des reponses, et il ne fait echouer personne.

P54 a attrape une contrainte ratee : serveur_ops est insemine par le SITE, qui
ne detient pas la voute du locataire. Le role ne nomme donc aucune voute — il
declare un parametre, et la couche qui detient le secret le remplit.

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

24 lines
1.2 KiB
YAML

---
# Supervision derivee du role. Voir docs/supervision-conception.md.
sondes:
- nom: runner
ttl: 5400
raison: 'Le poste d''exploitation peut-il encore agir ? Deux choses : ses depots sont-ils PROPRES
et sur leur branche (une modification locale fait diverger le runner du depot que tout le monde
lit), et Ansible repond-il dans son venv.'
# LA CONSOLE, SURVEILLEE PAR CELUI QUI LA SERT (2026-09-14).
#
# DEUX PROCESSUS, UNE SEULE CAUSE D'ACTION : aller voir ce runner. Le GUI et son
# vestibule tombent separement, et le second cas est le plus retors — nginx repond
# parfaitement, et relaie vers un service mort.
#
# CE QUI COMPTE VRAIMENT : que le vestibule TIENNE. Un nginx qui laisserait passer sans
# authentifier ne fait echouer personne — il ouvre la fabric. La sonde exige donc un
# REFUS sur une requete anonyme : c'est la seule facon de mesurer une serrure.
- nom: console-ops
ttl: 5400
raison: 'La console d''exploitation repond-elle, et son vestibule tient-il ? Un GUI
mort derriere un nginx vivant rend une page d''erreur a qui sait deja entrer ; un
vestibule tombe rend la fabric entiere a qui trouve l''URL. Le second ne fait
echouer personne — c''est pourquoi il faut le mesurer.'