OPS-Patient0/inventories/production/group_vars/all/10-intrants.yml
Daniel Allaire 3cf00bbf3a patient 0 : le plan de l'ecosysteme dont les autres descendront
Aujourd'hui, tout ce qui fabrique Chezlepro vit sur `eregion` — une machine HORS FLOTTE,
montee a la main, que Set-OPS ne deploie pas, ne sauvegarde pas et ne prouve pas. Un
ecosysteme entier depend d'un point unique que le moteur ignore.

Patient 0 le remplace par le plus petit ecosysteme COMPLET (PKI, DNS, edge, courriel,
PostgreSQL, forge — six machines), bati par le moteur, sauvegarde par le moteur, verifie
par le harnais. On ne deplace pas le point unique de defaillance : on l'elimine.

Derive du modele `forge`, avec trois ecarts assumes :
- INDEX 29 (10.29.0.0/16, VLAN 1291-1296), choisi libre : 13 lab, 17 Chezlepro,
  23 Technolibre ; les index bas (1, 11) ont deja force deux renumerotages.
- `federe: false` — patient 0 est EXCLU des devis du site tant qu'il n'est pas
  materialise. Une flotte en cours de reconstruction n'a pas a se voir reserver des VLAN
  et des regles pour un ecosysteme qui n'existe pas (c'est exactement ce qui avait
  injecte les adresses d'un tenant perime dans le pare-feu partage, le 2026-08-12).
  A basculer a `true` AVANT `make sdn-appliquer`, le jour du deploiement.
- `forge-01` recoit 80G au lieu du defaut : elle hebergera les depots de TOUTE la
  lignee, pas seulement les siens.

Le modele `forge` dont il derive etait lui-meme perime sur deux points, corriges ici :
`client_pki` liste a la main alors que l'integration est devenue universelle, et un FQDN
expose reste en `exemple.internal`. Les modeles PRIVES ne sont pas couverts par le
harnais — P17 ne decouvre que le modele public.

VERIFIE : les quatre registres valident, le gabarit de voute couvre les 20 secrets exiges,
l'inventaire est genere et applique. Et sur l'instance de l'exploitant, en pleine
reconstruction : `make verifier` -> 38 OK, 0 echec, 0 saute ; les devis ne voient
toujours que Chezlepro et Technolibre.

CE QUI N'EST PAS ICI, ET NE LE SERA JAMAIS : le mot de passe de la voute. C'est le seul
objet que la reproduction exige d'un humain — le mettre dans la forge reviendrait a
enfermer la cle dans le coffre.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-20 20:51:00 -04:00

28 lines
1.3 KiB
YAML

---
# Intrants d'IDENTITE de patient 0 — SOURCE UNIQUE, partagee par tous les envs.
# Edite par le panneau « Intrants de base » du GUI (make inventaire-ui).
# RESEAU(X) D'ADMINISTRATION — la seule source autorisee a ouvrir SSH sur la flotte.
# 10.0.0.0/24 est le plan de gestion d'asgard (VLAN 10 de l'underlay), celui d'ou l'on
# administre aujourd'hui. A revoir si patient 0 demenage sur un autre site : c'est alors
# le plan de gestion de CE site-la qu'il faut nommer, sinon le `default deny` ferme
# l'acces d'administration sur une flotte qu'on vient de batir.
nftables_admin_ssh:
- 10.0.0.0/24
# Resolveur d'AMORCAGE, pose par cloud-init a la creation d'une VM. Il ne sert qu'une
# fois : `client_unbound` bascule ensuite /etc/resolv.conf vers 127.0.0.1. Sans lui, la
# VM nait sans resolution et `apt` ne peut rien installer.
dns_amorcage: 9.9.9.9,149.112.112.112
domaine_interne: genese.internal
fuseau_horaire: America/Toronto
identite_realm: genese
organisation: Alliance Boréale
# Adresse du compte d'amorcage — la SEULE valeur du role `amorcage_acces` qui ne peut
# pas se deriver : elle designe une personne. Elle doit etre lisible SANS l'ecosysteme
# qu'on amorce — une adresse en @genese.internal serait un piege parfait.
amorcage_acces_courriel: sysadmin@chezlepro.ca
setops_plan_dir: "{{ playbook_dir }}/../../instance/plan"