OPS-Patient0/inventories/production/hosts.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

169 lines
4.7 KiB
YAML

# Inventaire GENERE depuis le plan (make instancier / instancier-appliquer).
# NE PAS editer a la main : edite instance/plan/serveurs.yml + instance/plan/applications.yml.
# Source : instance/plan/serveurs.yml + instance/plan/applications.yml + instance/plan/nomenclature.yml.
all:
children:
client_backup:
hosts:
data-sql-01: null
forge-01: null
infra-mail-01: null
infra-pki-01: null
client_journal:
hosts:
data-sql-01: null
forge-01: null
infra-dns-01: null
infra-edge-01: null
infra-mail-01: null
infra-pki-01: null
client_metrique:
hosts:
data-sql-01: null
forge-01: null
infra-dns-01: null
infra-edge-01: null
infra-mail-01: null
infra-pki-01: null
client_pki:
hosts:
data-sql-01: null
forge-01: null
infra-dns-01: null
infra-edge-01: null
infra-mail-01: null
infra-pki-01: null
client_smtp:
hosts:
data-sql-01: null
forge-01: null
client_unbound:
hosts:
data-sql-01: null
forge-01: null
infra-edge-01: null
infra-mail-01: null
infra-pki-01: null
hotes_actifs:
hosts: {}
hotes_planifies:
hosts:
data-sql-01:
ansible_host: 10.29.18.11
ansible_user: ansible
proxmox_cidr: 24
proxmox_coeurs: 3
proxmox_disque_taille: 40G
proxmox_etiquette_vlan: ''
proxmox_memoire: 4096
proxmox_passerelle: 10.29.18.1
proxmox_pont: t29donn
proxmox_vlan: 1293
proxmox_vmid: 129301101
setops_supernet: 10.29.0.0/16
forge-01:
ansible_host: 10.29.21.11
ansible_user: ansible
proxmox_cidr: 24
proxmox_coeurs: 1
proxmox_disque_taille: 80G
proxmox_etiquette_vlan: ''
proxmox_memoire: 2048
proxmox_passerelle: 10.29.21.1
proxmox_pont: t29appl
proxmox_vlan: 1296
proxmox_vmid: 129601101
setops_supernet: 10.29.0.0/16
infra-dns-01:
ansible_host: 10.29.19.11
ansible_user: ansible
proxmox_cidr: 24
proxmox_coeurs: 1
proxmox_disque_taille: 40G
proxmox_etiquette_vlan: ''
proxmox_memoire: 1536
proxmox_passerelle: 10.29.19.1
proxmox_pont: t29serv
proxmox_vlan: 1294
proxmox_vmid: 129401101
setops_supernet: 10.29.0.0/16
infra-edge-01:
ansible_host: 10.29.16.11
ansible_user: ansible
proxmox_cidr: 24
proxmox_coeurs: 1
proxmox_disque_taille: 15G
proxmox_etiquette_vlan: ''
proxmox_memoire: 1536
proxmox_passerelle: 10.29.16.1
proxmox_pont: t29fron
proxmox_vlan: 1291
proxmox_vmid: 129101101
sans_exposition:
- forge.genese.internal
setops_supernet: 10.29.0.0/16
infra-mail-01:
ansible_host: 10.29.19.31
ansible_user: ansible
proxmox_cidr: 24
proxmox_coeurs: 1
proxmox_disque_taille: 20G
proxmox_etiquette_vlan: ''
proxmox_memoire: 1536
proxmox_passerelle: 10.29.19.1
proxmox_pont: t29serv
proxmox_vlan: 1294
proxmox_vmid: 129403101
setops_supernet: 10.29.0.0/16
infra-pki-01:
ansible_host: 10.29.19.21
ansible_user: ansible
proxmox_cidr: 24
proxmox_coeurs: 1
proxmox_disque_taille: 32G
proxmox_etiquette_vlan: ''
proxmox_memoire: 1024
proxmox_passerelle: 10.29.19.1
proxmox_pont: t29serv
proxmox_vlan: 1294
proxmox_vmid: 129402101
setops_supernet: 10.29.0.0/16
modeles_vm:
hosts: {}
serveur_debian:
hosts:
data-sql-01: null
forge-01: null
infra-dns-01: null
infra-edge-01: null
infra-mail-01: null
infra-pki-01: null
serveur_dovecot:
hosts:
infra-mail-01: null
serveur_durci:
hosts:
data-sql-01: null
forge-01: null
infra-dns-01: null
infra-edge-01: null
infra-mail-01: null
infra-pki-01: null
serveur_forgejo:
hosts:
forge-01: null
serveur_nginx:
hosts:
infra-edge-01: null
serveur_postgresql:
hosts:
data-sql-01: null
serveur_powerdns:
hosts:
infra-dns-01: null
serveur_redis:
hosts:
data-sql-01: null
serveur_step_ca:
hosts:
infra-pki-01: null