Set-OPS-Public/docs
Daniel Allaire 5d0f82792a portabilite : declarer ce dont le moteur depend — quatre defauts reveles par le runner
Premiere materialisation d'une VM de tenant depuis le runner du SITE. Elle a
echoue quatre fois d'affilee, sur quatre dependances que le moteur ne declarait
nulle part. Chacune fonctionnait chez le mainteneur pour une raison DIFFERENTE,
et aucune de ces raisons n'existe sur une autre machine.

1. VERSIONS DES COLLECTIONS. `requirements.yml` les nommait sans les epingler. Le
   runner a recu `community.general` 13.3.0 quand le poste porte la 10.3.0 — et la
   11 a retire les modules Proxmox de cette collection.
       ERROR! couldn't resolve module/action 'community.general.proxmox_pool'

2. INSTALLATION EN AVANT. `ansible-galaxy` ne retrograde pas : declarer la 10.3.0
   ne suffisait pas a defaire une 13.3.0 deja posee. `--force`.

3. EMPLACEMENT. Le `Makefile` pose `ANSIBLE_HOME ?= $(CURDIR)/.ansible` : sous
   `make`, Ansible ne lit QUE `<moteur>/.ansible/collections`. Le role deposait
   dans `<racine>/.ansible/collections` — a cote, jamais lu. Invisible chez le
   mainteneur, ou les collections viennent du paquet systeme, toujours dans le
   chemin quel que soit ANSIBLE_HOME. Et le garde-fou d'installation suivait le
   DEPOT des archives : changer la destination ne le declenchait pas. Il mesure
   desormais la destination — meme piege qu'en 2026-08-24, deplace d'un cran.

4. BIBLIOTHEQUES PYTHON. Le venv recevait `ansible-core` et `pyyaml`, ecrits en
   dur. Les modules Proxmox tournent `delegate_to: localhost` et exigent
   `proxmoxer` SUR LE CONTROLEUR.
       La bibliotheque Python proxmoxer est absente

   Ne d'ici : `requirements-python.txt`, avec sa frontiere ecrite — il ne declare
   QUE ce qui tourne sur le controleur. `python-ldap` et `psycopg2` s'executent
   sur leurs cibles ; le poste du mainteneur ne les a pas et la flotte se deploie,
   ce qui prouve que la ligne est au bon endroit.

P51 garde les trois faiblesses de cette famille : une dependance utilisee sans
etre declaree (le defaut du 2026-08-24, `ansible.posix`), une dependance declaree
sans version, et `proxmoxer` absent alors que des playbooks Proxmox existent.
Quatre controles negatifs verifies.

RESULTAT : ops-01 materialisee par le runner du site. L'agent invite rapporte
`eth0 10.17.19.41/24`, Debian 13 trixie — l'adressage derive du plan, applique.

Un seul executant masque ces ecarts indefiniment ; un second les revele tous en
une soiree. Meme mecanique que le second tenant en aout.

make prouver : CONFORME, 51 OK, 0 echec.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-27 22:38:35 -04:00
..
audit portabilite : declarer ce dont le moteur depend — quatre defauts reveles par le runner 2026-08-27 22:38:35 -04:00
img docs : figures annotées des 7 autres vues du GUI (série complète) 2026-07-28 13:48:36 -04:00
modeles_vm mtu : le 1450 de la zone n'atteignait pas les invites 2026-08-10 17:54:03 -04:00
architecture-set-ops.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
authentification.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
autorisation.md sauvegarde : le catalogue derive du groupe, et P36 le prouve 2026-08-11 20:50:46 -04:00
bindings-conception.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
carte-set-ops.md frontiere : le devis sait desormais refuser SANS consigner 2026-08-27 18:10:39 -04:00
catalogue-services.md runner : serveur_ops_tenant — le runner d'un tenant recoit enfin sa voute 2026-08-26 15:30:51 -04:00
config-proxmox.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
couches-deploiement.yml runner : serveur_ops_tenant — le runner d'un tenant recoit enfin sa voute 2026-08-26 15:30:51 -04:00
courriel-conception.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
decisions-architecture.md genome : la forge du SITE fait autorite (D-81), et make genome-etat le verifie 2026-08-26 09:17:24 -04:00
dependances-groupes.yml runner : serveur_ops_tenant — le runner d'un tenant recoit enfin sa voute 2026-08-26 15:30:51 -04:00
devis-services.md devis : make versions-mesurer — l'ecart avec l'amont devient lisible 2026-08-10 23:02:16 -04:00
dimensionnement-ressources.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
dns-interne.md resolveur : un par tenant, et non plus un par machine 2026-08-24 16:59:34 -04:00
ecosysteme-chezlepro.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
filiation-emancipation.md filiation : nommer les trois ages d'un ecosysteme 2026-08-24 14:10:10 -04:00
flux-conception.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
frontiere-opnsense.md resolveur : un par tenant, et non plus un par machine 2026-08-24 16:59:34 -04:00
frontiere-physique-virtuel.md underlay : la frontiere entre les deux mondes, et l'instrument qui la mesure 2026-08-22 16:31:35 -04:00
hebergeur-exploitation.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
identite-sso.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
implanter-un-tenant-sur-un-site.md portee : les trois devis d'un site partagent enfin la meme regle 2026-08-18 16:38:30 -04:00
integrations-vm.md resolveur : un par tenant, et non plus un par machine 2026-08-24 16:59:34 -04:00
intrants-base-gui-conception.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
intrants-communs.md resolveur : un par tenant, et non plus un par machine 2026-08-24 16:59:34 -04:00
meta-classe.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
migration-tenant.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
MISE-A-JOUR-CODEX-CLAUDE.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
multi-instances.md adressage : le decalage de +10 est retire, l'index se lit dans l'adresse 2026-08-12 16:16:08 -04:00
nomenclature-vm.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
plan-et-generation.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
positionnement.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
pouvoirs-set-ops.md resolveur : un par tenant, et non plus un par machine 2026-08-24 16:59:34 -04:00
preparer-un-site-hebergeur.md D-78 : destination ou chemin — et le VLAN 50 pour eviter une collision 2026-08-12 17:50:05 -04:00
procedure-template-debian13-proxmox.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
registre-flux.md flux : P49 — le registre des flux avait derive sans bruit 2026-08-26 16:58:17 -04:00
runbooks-exploitation.md D-78 : destination ou chemin — et le VLAN 50 pour eviter une collision 2026-08-12 17:50:05 -04:00
sdn-evpn.md adressage : le decalage de +10 est retire, l'index se lit dans l'adresse 2026-08-12 16:16:08 -04:00
theme-forgejo-hors-flotte.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
vm-lifecycle.md doc : la machine d'epreuve jetable — une doctrine qui n'avait pas son instrument 2026-08-13 11:47:12 -04:00