From 66427965187359de6ee25ffc720636c1211c3d64 Mon Sep 17 00:00:00 2001 From: Daniel Allaire Date: Sat, 22 Aug 2026 13:57:40 -0400 Subject: [PATCH] =?UTF-8?q?plan=20:=20la=20base=20tient=20dans=20un=20fich?= =?UTF-8?q?ier=20=E2=80=94=20PostgreSQL=20et=20sa=20machine=20s'en=20vont?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Le role sait desormais faire SQLite (`serveur_forgejo_bd: sqlite`), et c'est le bon choix ici : quelques comptes, des depots qui sont pour l'essentiel des MIROIRS. Exiger une VM PostgreSQL — un serveur, une zone, un secret, une sauvegarde — pour une base que trois personnes sollicitent etait un cout sans contrepartie. Partent ensemble : l'application postgresql, la machine data-sql-01, les entrees du registre des bases, et la zone Donnees devenue vide. Une nomenclature qui decrit une zone sans machine est un mensonge en attente. PATIENT 0 : QUATRE MACHINES. infra-pki-01, infra-dns-01, infra-edge-01, forge-01. Sur la machine dont tout le reste descend, chaque service en moins est une chose de moins a defendre, a sauvegarder, et a rebatir un soir de reconstruction. La sauvegarde ne change pas : le fichier vit sous serveur_forgejo_data, que le job `serveur_forgejo` de client_backup emporte deja. Les quatre registres valident, l'inventaire est regenere, P35 ne reclame plus rien. Co-Authored-By: Claude Opus 5 --- .../production/group_vars/serveur_forgejo.yml | 14 +++++++++++ inventories/production/hosts.yml | 23 ------------------- plan/applications.yml | 1 - plan/bases-donnees.yml | 16 ++++--------- plan/nomenclature.yml | 2 -- plan/serveurs.yml | 1 - 6 files changed, 19 insertions(+), 38 deletions(-) create mode 100644 inventories/production/group_vars/serveur_forgejo.yml diff --git a/inventories/production/group_vars/serveur_forgejo.yml b/inventories/production/group_vars/serveur_forgejo.yml new file mode 100644 index 0000000..3f225dc --- /dev/null +++ b/inventories/production/group_vars/serveur_forgejo.yml @@ -0,0 +1,14 @@ +--- +# LA FORGE DE PATIENT 0 TIENT SA BASE DANS UN FICHIER. +# +# SQLite est le defaut documente de Forgejo pour une petite instance, et patient 0 en est +# une : quelques comptes, et des depots qui sont pour l'essentiel des MIROIRS. Exiger une +# VM PostgreSQL — un serveur, une zone, un secret, une sauvegarde — pour une base que +# trois personnes sollicitent etait un cout sans contrepartie. +# +# Sur la machine dont tout le reste descend, chaque service en moins est une chose de +# moins a defendre, a sauvegarder, et a rebatir un soir de reconstruction. +# +# LA SAUVEGARDE NE CHANGE PAS : le fichier vit sous `serveur_forgejo_data`, que le job +# `serveur_forgejo` de client_backup emporte deja. +serveur_forgejo_bd: sqlite diff --git a/inventories/production/hosts.yml b/inventories/production/hosts.yml index 2d8da22..6a1999d 100644 --- a/inventories/production/hosts.yml +++ b/inventories/production/hosts.yml @@ -5,33 +5,28 @@ all: children: client_backup: hosts: - data-sql-01: null forge-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-pki-01: null client_metrique: hosts: - data-sql-01: null forge-01: null infra-dns-01: null infra-edge-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-pki-01: null client_unbound: hosts: - data-sql-01: null forge-01: null infra-edge-01: null infra-pki-01: null @@ -39,19 +34,6 @@ all: hosts: {} hotes_planifies: hosts: - data-sql-01: - ansible_host: 10.29.18.11 - ansible_user: ansible - proxmox_cidr: 24 - proxmox_coeurs: 2 - proxmox_disque_taille: 35G - proxmox_etiquette_vlan: '' - proxmox_memoire: 3072 - 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 @@ -110,14 +92,12 @@ all: hosts: {} serveur_debian: hosts: - data-sql-01: null forge-01: null infra-dns-01: null infra-edge-01: null infra-pki-01: null serveur_durci: hosts: - data-sql-01: null forge-01: null infra-dns-01: null infra-edge-01: null @@ -128,9 +108,6 @@ all: serveur_nginx: hosts: infra-edge-01: null - serveur_postgresql: - hosts: - data-sql-01: null serveur_powerdns: hosts: infra-dns-01: null diff --git a/plan/applications.yml b/plan/applications.yml index 444402d..5d4180f 100644 --- a/plan/applications.yml +++ b/plan/applications.yml @@ -3,5 +3,4 @@ applications: step_ca: { groupe: serveur_step_ca, hote: infra-pki-01 } nginx: { groupe: serveur_nginx, hote: infra-edge-01 } powerdns: { groupe: serveur_powerdns, hote: infra-dns-01 } - postgresql: { groupe: serveur_postgresql, hote: data-sql-01 } forgejo: { groupe: serveur_forgejo, hote: forge-01, port: 3000, expose: [forge.genese.internal] } diff --git a/plan/bases-donnees.yml b/plan/bases-donnees.yml index 1f5dd7e..60f9184 100644 --- a/plan/bases-donnees.yml +++ b/plan/bases-donnees.yml @@ -1,12 +1,6 @@ --- -serveurs_bd: - sql-01: { type: postgres, hote: data-sql-01, port: 5432, groupe: serveur_postgresql } -bases_donnees: - forgejo: - serveur: sql-01 - base: forgejo - proprietaire: forgejo - secret: vault_bd_forgejo - consommateur: serveur_forgejo - portee: groupe - usage: principale +# AUCUNE BASE AU REGISTRE, et c'est un choix : la forge de patient 0 tient la sienne dans +# un fichier (`serveur_forgejo_bd: sqlite`). Le registre sert a provisionner des bases sur +# un SERVEUR — il n'y en a pas ici. +serveurs_bd: {} +bases_donnees: {} diff --git a/plan/nomenclature.yml b/plan/nomenclature.yml index 506bc06..1622a50 100644 --- a/plan/nomenclature.yml +++ b/plan/nomenclature.yml @@ -30,12 +30,10 @@ federe: true # Zones de securite (un /24 + VLAN chacune) — seuls les libelles sont du modele. categories: 1: { libelle: Frontiere } - 3: { libelle: Donnees } 4: { libelle: Services-infra } 6: { libelle: Applications } # Placement : quelle fonction dans quelle zone (categorie) et son rang (service). fonctions: - data-sql: { categorie: 3, service: 1 } forge: { categorie: 6, service: 1 } infra-dns: { categorie: 4, service: 1 } infra-edge: { categorie: 1, service: 1 } diff --git a/plan/serveurs.yml b/plan/serveurs.yml index e13a122..362fdcf 100644 --- a/plan/serveurs.yml +++ b/plan/serveurs.yml @@ -6,7 +6,6 @@ serveurs: infra-pki-01: { fonction: infra-pki, etat: planifie, disque: 32G, integrations: [client_backup] } infra-edge-01: { fonction: infra-edge, etat: planifie } infra-dns-01: { fonction: infra-dns, etat: planifie, disque: 40G } - data-sql-01: { fonction: data-sql, etat: planifie, integrations: [client_backup] } # PAS DE `client_smtp` ICI, ni ailleurs dans ce plan : patient 0 n'a pas de MTA, et la # dependance causale refuserait le deploiement. Porter des depots n'exige pas d'envoyer # du courriel. Le jour ou la forge devra notifier, ce sera un relais declare, pas une