Set-OPS-Public/scripts
Daniel Allaire 9e4101723b preuve : P31 ignorait les scripts invoques par un role ou un playbook
En ajoutant la verification de signature, P31 a declare
`verifier_signature.py` « injoignable » — alors qu'il tourne a chaque
deploiement de Keycloak. Elle ne regardait que le Makefile et les autres
scripts, jamais les roles ni les playbooks.

Une preuve qui ignore un chemin d'appel reel accuse du code sain, et on
apprend a passer outre : le pire sort possible pour une garde.

ET J'AI POUSSE AVEC CETTE PREUVE EN ECHEC. Troisieme fois de la session, et
toujours la meme faute : `prouver.py | tail -1` rend le code de sortie de
`tail`, donc le `&&` qui suit continue quoi qu'il arrive. Le commit precedent
(verification de signature Keycloak) est parti avec 34 OK / 1 echec. Corrige
ici, et la lecon vaut plus que le correctif : ne jamais lire le verdict d'une
garde a travers un tube.

Verifie : prouver.py 35 OK, code de sortie lu SANS tube.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 00:52:21 -04:00
..
tests raser : lire le RESULTAT de la destruction, pas son accuse de reception 2026-08-10 22:47:28 -04:00
applications.py Trois preuves qui regardent au-dela d'une seule instance + champ liens/websocket au GUI 2026-07-22 21:32:42 -04:00
appliquer_opnsense.py frontiere : « vers Internet » n'est plus « vers n'importe ou » 2026-08-09 17:00:08 -04:00
appliquer_proxmox_fw.py premiere VM tenant : quatre defauts leves sur le chemin 2026-08-06 20:33:12 -04:00
appliquer_sdn.py proxmox-fw : un applicateur, et un refus assume 2026-08-06 19:39:33 -04:00
bases_donnees.py Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00
config_proxmox.py intégrations : le rôle déclare sa politique ; le cluster passe à l'hébergeur 2026-08-03 14:09:22 -04:00
couverture_gui.py Trois preuves qui regardent au-dela d'une seule instance + champ liens/websocket au GUI 2026-07-22 21:32:42 -04:00
devis_certificats.py devis des certificats : disque contre memoire, et l'AC etait expiree 2026-08-08 07:20:56 -04:00
devis_courriel.py courriel : routage local par identifiant, et la livraison interne remise en marche 2026-08-08 09:42:45 -04:00
devis_expositions.py devis des expositions : une vraie requete, depuis deux points de vue 2026-08-08 07:33:49 -04:00
devis_frontiere.py frontiere : etanche — CONFORME sur 56 lignes, dans les deux sens 2026-08-09 21:33:04 -04:00
devis_identite.py devis d'identite : comparer le deploye au declare 2026-08-08 06:55:06 -04:00
devis_mtu.py mtu : le 1450 de la zone n'atteignait pas les invites 2026-08-10 17:54:03 -04:00
devis_opnsense.py frontiere : etanche — CONFORME sur 56 lignes, dans les deux sens 2026-08-09 21:33:04 -04:00
devis_postgresql.py devis PostgreSQL et courriel : la serie des devis de service est complete 2026-08-08 08:53:49 -04:00
devis_proxmox_fw.py flux : admin devient un pair, et make ca-racine livre la racine 2026-08-07 17:26:35 -04:00
devis_proxmox_pools.py proxmox : pools créés, jeton normalisé, reliquat de voûte supprimé 2026-08-03 15:52:44 -04:00
devis_reseau.py nommage : bifrost-N, où N est le dernier octet (D-60 ; D-12 renversée) 2026-08-04 20:01:10 -04:00
devis_sdn.py SDN : un puits sur le supernet du tenant dans son propre VRF 2026-08-09 16:01:24 -04:00
devis_versions.py devis : make versions-mesurer — l'ecart avec l'amont devient lisible 2026-08-10 23:02:16 -04:00
domaines.py Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00
instance_creer.py Créer une instance depuis un modèle (CLI + GUI) 2026-07-23 14:13:36 -04:00
instances.py Multi-instances : make instances (vue + collision) + preuve P21 2026-07-23 11:26:01 -04:00
instancier.py instancier : emet setops_supernet, derive du seed 2026-08-07 10:33:25 -04:00
inventory_gui.py portabilite : monter un SECOND tenant revele trois defauts invisibles 2026-08-10 11:18:14 -04:00
inventory_host.py gabarit : deriver le domaine de recherche, et vider resolv.conf a la capture 2026-08-09 10:25:03 -04:00
inventory_rules.py empreintes muettes, courses de premier demarrage, collision de noms 2026-08-07 16:22:38 -04:00
model_creer.py Créer un modèle (make model-creer) — base + promotion d'instance 2026-07-23 14:43:06 -04:00
modeles.py modèles : l'underlay devient modélisable, et P17 le valide 2026-08-02 17:11:18 -04:00
orchestrer.py Mise en conformité prouvable : registre d'affirmations + make prouver 2026-07-20 19:53:18 -04:00
plan_recette.py Plan de recette (P22) : le pendant manuel de make prouver 2026-07-23 15:49:16 -04:00
prouver.py preuve : P31 ignorait les scripts invoques par un role ou un playbook 2026-08-11 00:52:21 -04:00
proxmox_api.py proxmox-fw : un applicateur, et un refus assume 2026-08-06 19:39:33 -04:00
raser.py raser : lire le RESULTAT de la destruction, pas son accuse de reception 2026-08-10 22:47:28 -04:00
resoudre_flux.py portabilite : le repli nftables survivait a la bascule et annulait tout 2026-08-10 12:24:41 -04:00
serveurs.py intégrations : le rôle déclare sa politique ; le cluster passe à l'hébergeur 2026-08-03 14:09:22 -04:00
socle_amorcage.py D-71 : PKI et DNS debout avant tout, et la zone inverse manquait 2026-08-08 15:29:57 -04:00
sonde_tcp.py frontiere : etanche — CONFORME sur 56 lignes, dans les deux sens 2026-08-09 21:33:04 -04:00
underlay.py underlay : l'invariant du dernier octet retrouve sa portée (D-04, D-52 à D-54) 2026-08-04 14:46:06 -04:00
verifier_gui.py Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00
verifier_intrants.py P32 / D-72 : tout intrant exige par un role est fourni par l'instance 2026-08-09 09:40:25 -04:00
verifier_ports.py P33 / D-73 : aucune collision de port entre roles co-localises 2026-08-09 09:46:17 -04:00
verifier_signature.py keycloak : verifier la signature PGP contre une empreinte epinglee 2026-08-10 23:35:32 -04:00
voute.py amorcage_acces : le role qui cree UN acces puis se retire 2026-08-07 13:42:27 -04:00