journal : seulement_si, la sonde au site, la frontiere en attente

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Daniel Allaire 2026-10-01 12:07:26 -04:00
parent 25fd4fc6f1
commit ff518e18c2

View file

@ -1,5 +1,40 @@
# CHANGELOG — Set-OPS
## 2026-10-01 (56) — Le registre des flux sait dire « seulement si » ; la sonde au site
**Le registre ne savait pas exprimer une condition.** La sonde `connectivite` montrait, chaque
minute, des ports ouverts vers rien : la vigie (8080) et la console (8090) en SSO, liées à
`127.0.0.1` derrière la passerelle — le code le savait (« la règle devient simplement sans
objet »). `seulement_si: {variable, egal}` ou `{variable, non_vide: true}`, évalué PAR
ÉCOSYSTÈME (variables d'hôte, `group_vars`, défauts du rôle) dans les trois générateurs —
nftables, Proxmox, frontière. Une expression Jinja indéterminable garde le statu quo ; une
variable absente partout compte comme vide pour `non_vide`.
| Flux | Condition | Effet |
|---|---|---|
| vigie 8080 | `serveur_icingaweb2_nginx_bind == ""` | retiré chez les locataires (SSO) ; gardé au site |
| console 8090 | `serveur_ops_gui_auth == locale` | idem |
| forge 3000 | `serveur_forgejo_tls == false` | retiré au site (TLS propre sur 443) |
| AXFR 5300 | `dns_public_site` non vide | retiré au site (pas d'instance publique) ; gardé chez les locataires |
Appliqué : locataires — nftables, et Proxmox (8 règles, 2 groupes de sécurité vides retirés),
`connectivite` 13/13 au vert des deux côtés, l'edge à 27/27 ; site — nftables, ses deux
« coupures » (`site-dnspub-01 → site-dns-01:5300`, `site-edge-01 → site-forge-01:3000`)
disparues avec leurs règles. **Pas encore appliqué** : le plan de la FRONTIÈRE, qui retire
8 règles d'administration vers 8080/8090 et 2 alias orphelins (en attente de l'exploitant).
**Un défaut latent trouvé au passage** : la console du SITE tourne en `locale` depuis le
2026-09-15, mais son plan ne le disait pas — et le défaut du rôle est `oidc`. Le prochain
déploiement du site l'aurait liée à `127.0.0.1` derrière une passerelle inexistante. Le plan
le déclare désormais (`serveur_ops_gui_auth: locale`).
**La sonde au site** (simulée d'abord, `--check --diff`) : la simulation a montré que le chemin
de la liste pointait hors du dépôt (inventaire dynamique : même surcharge que le ruleset), que
la tâche aurait changé les droits de `/etc/setops` (la liste, qui n'a rien de secret, va dans
`/usr/local/lib/setops/`), et que l'activation du minuteur échouait en simulation. Corrigés,
puis déployés : les 9 machines rapportent ; reste une information — `site-mon-01:465/587`, le
relais du site n'offre pas la soumission.
## 2026-09-30 (55) — Première reconstruction sans un seul arrêt ; le pare-feu jugé par une sonde à la minute
**Chezlepro, quatrième reconstruction, lancée par l'exploitant** (`reconstruire-locataire`,