Set-OPS-Public/scripts
Daniel Allaire 82a2c4a4c2 forge : le colis se recoit hors d'un depot, et forge-cles reconcilie la visibilite
L'epreuve du colis sur le runner de Technolibre : git bundle verify exige un depot
existant, et l'insemination est le cas ou il n'existe pas encore. Le clone verifie le
colis lui-meme ; un depot existant le verifie avant de tirer. Les colis restes d'un
passage interrompu sont retires.

make forge-cles rend aussi chaque depot prive ou public selon le role que lui donne le
plan du site, et seulement une fois les cles de lecture en place.

95 preuves.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 20:58:08 -04:00
..
tests forge : le colis se recoit hors d'un depot, et forge-cles reconcilie la visibilite 2026-10-11 20:58:08 -04:00
applications.py plan : l ecriture des registres devient atomique — tout, ou rien 2026-09-08 14:57:57 -04:00
appliquer_opnsense.py pare-feu : conserver et réconcilier les raisons des flux 2026-10-09 19:56:28 -04:00
appliquer_proxmox_fw.py pare-feu : conserver et réconcilier les raisons des flux 2026-10-09 19:56:28 -04:00
appliquer_sdn.py sdn : un cluster muet n est pas un cluster vide, et t29 se retire 2026-09-28 09:34:20 -04:00
attendre_materialisation.py creer-vm : prouver la materialisation sans entrer chez le tenant 2026-08-27 22:48:49 -04:00
bases_donnees.py plan : l ecriture des registres devient atomique — tout, ou rien 2026-09-08 14:57:57 -04:00
cacher_paquets.py paquets tiers : passer par le cache du controleur, plus par Internet 2026-09-05 08:22:14 -04:00
config_proxmox.py plan : l ecriture des registres devient atomique — tout, ou rien 2026-09-08 14:57:57 -04:00
contexte.py forge : chaque locataire publie la cle qui lira son depot, le site sait l'enregistrer 2026-10-11 19:59:07 -04:00
couverture_gui.py GUI : le formulaire des bases est GENERE depuis le schema 2026-09-08 15:30:08 -04:00
devis_certificats.py resolution d'instance : une seule, partagee — au lieu de neuf copies 2026-08-22 14:19:55 -04:00
devis_courriel.py resolution d'instance : une seule, partagee — au lieu de neuf copies 2026-08-22 14:19:55 -04:00
devis_expositions.py resolution d'instance : une seule, partagee — au lieu de neuf copies 2026-08-22 14:19:55 -04:00
devis_frontiere.py resolution d'instance : une seule, partagee — au lieu de neuf copies 2026-08-22 14:19:55 -04:00
devis_identite.py resolution d'instance : une seule, partagee — au lieu de neuf copies 2026-08-22 14:19:55 -04:00
devis_mtu.py resolution d'instance : une seule, partagee — au lieu de neuf copies 2026-08-22 14:19:55 -04:00
devis_opnsense.py forge : chaque locataire publie la cle qui lira son depot, le site sait l'enregistrer 2026-10-11 19:59:07 -04:00
devis_placement.py devis de placement : le gabarit et le stockage que le clonage utilise (ceux du site) 2026-10-07 13:24:39 -04:00
devis_postgresql.py resolution d'instance : une seule, partagee — au lieu de neuf copies 2026-08-22 14:19:55 -04:00
devis_proxmox_fw.py contexte : etape 3, le pare-feu Proxmox lit la face reseau 2026-10-05 12:51:37 -04:00
devis_proxmox_pools.py contexte : materialisation M3, la reconstruction nomme son locataire 2026-10-05 17:27:25 -04:00
devis_reseau.py contexte : etape 3, le site decouvre ses locataires par leur face reseau 2026-10-05 13:10:39 -04:00
devis_sdn.py sdn : un cluster muet n est pas un cluster vide, et t29 se retire 2026-09-28 09:34:20 -04:00
devis_underlay.py underlay : la frontiere entre les deux mondes, et l'instrument qui la mesure 2026-08-22 16:31:35 -04:00
devis_versions.py devis : make versions-mesurer — l'ecart avec l'amont devient lisible 2026-08-10 23:02:16 -04:00
dns_bascule.py zones publiques : le courriel dans la zone, et un devis avant de basculer 2026-09-16 21:54:49 -04:00
dnssec.py DNSSEC : le locataire signe, avec la cle de sa voute 2026-09-16 22:09:21 -04:00
domaines.py resolution d'instance : une seule, partagee — au lieu de neuf copies 2026-08-22 14:19:55 -04:00
eprouver_parefeu.py connectivite : une sonde a la minute remplace la matrice du pare-feu 2026-09-30 22:46:49 -04:00
exporter_cles.py exporter : archives datees, et rien d ecrit si les voutes n ont pas change 2026-10-04 14:37:07 -04:00
exporter_voutes.py exporter : archives datees, et rien d ecrit si les voutes n ont pas change 2026-10-04 14:37:07 -04:00
expositions_etat.py expositions-etat : le certificat SERVI, pas celui du disque 2026-09-11 10:21:19 -04:00
fiche_role.py fiche : les panneaux etaient caches derriere l exportateur 2026-09-14 16:34:51 -04:00
forge_amorcer.py serveur_ops : les depots prives se lisent en SSH, ou arrivent en colis 2026-10-11 20:33:38 -04:00
forge_cles.py forge : le colis se recoit hors d'un depot, et forge-cles reconcilie la visibilite 2026-10-11 20:58:08 -04:00
forge_etancheite.py serveur_ops : les depots prives se lisent en SSH, ou arrivent en colis 2026-10-11 20:33:38 -04:00
gabarit_etat.py D-86 mis a l epreuve : Chezlepro rasee et refaite depuis zero 2026-09-10 13:06:45 -04:00
genome.py plan : l ecriture des registres devient atomique — tout, ou rien 2026-09-08 14:57:57 -04:00
genome_colis.py publier : les releases voyagent jusqu'aux deux forges ; wiki publie sur la forge du site 2026-10-07 19:04:31 -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 un site prend son propre index, et la garde les compte enfin 2026-09-12 14:31:51 -04:00
instancier.py contexte : etape 3, l'instancier lit la fiche du site (P91) 2026-10-05 12:23:17 -04:00
inventory_gui.py serveur_ops : les depots prives se lisent en SSH, ou arrivent en colis 2026-10-11 20:33:38 -04:00
inventory_host.py materialisation : le site pose lui-meme la cle de son runner en clonant 2026-10-11 18:43:58 -04:00
inventory_rules.py resolution_interne : entre machines du site, chaque nom mene a son service 2026-09-29 13:25:37 -04:00
ma_forge.py le wiki suit le genome : un locataire n en est pas depositaire 2026-09-14 14:41:23 -04:00
materiel.py grafana : le tableau Matériel dit quoi faire 2026-10-04 00:49:28 -04:00
model_creer.py gabarit : modeleChezlepro -> modeleSetOPS, et une porte pour l'hebergeur 2026-08-12 14:36:44 -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 DNS public en production : cinq fautes que seule la production montrait 2026-09-16 18:35:36 -04:00
plan_recette.py documentation : la tournee des 74 documents, parce qu un balayage ne lit pas 2026-09-06 16:18:23 -04:00
prouver.py forge : chaque locataire publie la cle qui lira son depot, le site sait l'enregistrer 2026-10-11 19:59:07 -04:00
proxmox_api.py voutes : le monde physique a la sienne, les tenants n'en portent plus les cles 2026-08-22 17:13:48 -04:00
publier.py publier : les releases voyagent jusqu'aux deux forges ; wiki publie sur la forge du site 2026-10-07 19:04:31 -04:00
raser.py pre-vol M4 : raser et le devis de placement nomment le locataire designe 2026-10-07 10:16:04 -04:00
reconstruire_locataire.py temoins : l'instantane d'avant rasage est garde, et l'etat remis lui est compare 2026-10-07 12:48:00 -04:00
remise.py remise au client : deux temps, un outil, une garde 2026-09-16 11:16:27 -04:00
resoudre_flux.py forge : chaque locataire publie la cle qui lira son depot, le site sait l'enregistrer 2026-10-11 19:59:07 -04:00
restaurer_cles.py patient 0 efface : l index 29 est libere, et le site n ouvre plus rien a 10.29.0.0/16 2026-09-27 21:55:27 -04:00
routes_fabric_etat.py le site surveille enfin sa fabric 2026-09-10 18:50:43 -04:00
runbooks.py runbooks : la recette tranche, le registre ne se compare plus a lui-meme 2026-09-25 17:54:03 -04:00
schema_plan.py resolution_interne : entre machines du site, chaque nom mene a son service 2026-09-29 13:25:37 -04:00
serveurs.py plan : l ecriture des registres devient atomique — tout, ou rien 2026-09-08 14:57:57 -04:00
site_intrants.py serveur_ops : les depots prives se lisent en SSH, ou arrivent en colis 2026-10-11 20:33:38 -04:00
site_inventaire.py serveur_ops : les depots prives se lisent en SSH, ou arrivent en colis 2026-10-11 20:33:38 -04:00
site_machines.py memoire : ce que l hote a le droit de reprendre, et pourquoi il ne le pouvait pas 2026-09-13 19:57:11 -04:00
site_raser.py le site prend l index 37, et la capacite de le raser existe enfin 2026-09-12 16:32:06 -04:00
socle_amorcage.py resolution d'instance : une seule, partagee — au lieu de neuf copies 2026-08-22 14:19:55 -04:00
sonde_tcp.py frontiere : les flux admin traduits chez les tenants ; edge retire de l Internet 2026-09-29 15:05:23 -04:00
sonder.py sonder : rapporter ce qui distingue, au lieu d un echec 2026-08-28 17:02:20 -04:00
underlay.py adressage : le site est une flotte, et P20 le regarde enfin 2026-09-20 22:46:43 -04:00
verifier_cle_amorcage.py insemination : le runner verifie SA cle avant de partir 2026-09-13 22:04:41 -04:00
verifier_genome_a_jour.py deployer-tout : le genome est-il a jour avant de poser quoi que ce soit 2026-09-13 23:32:16 -04:00
verifier_gui.py GUI : les six registres ont un formulaire genere, et la sauvegarde aussi 2026-09-08 18:26:33 -04:00
verifier_intrants.py resolution d'instance : une seule, partagee — au lieu de neuf copies 2026-08-22 14:19:55 -04:00
verifier_ports.py resolution d'instance : une seule, partagee — au lieu de neuf copies 2026-08-22 14:19:55 -04:00
verifier_signature.py forgejo : epingle 16.0.2, et le verificateur accepte la cle PRIMAIRE 2026-08-11 01:04:16 -04:00
voute.py DNSSEC : le locataire signe, avec la cle de sa voute 2026-09-16 22:09:21 -04:00
voutes.py voutes : une cle absente n est pas une faute — elle est souvent la bonne reponse 2026-08-28 18:41:21 -04:00
vpn_admin.py contexte : etape 3, les pools et les tunnels lisent la face reseau 2026-10-05 14:59:29 -04:00