plan : la base tient dans un fichier — PostgreSQL et sa machine s'en vont

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 <noreply@anthropic.com>
This commit is contained in:
Daniel Allaire 2026-08-22 13:57:40 -04:00
parent bb5fe9ff30
commit 6642796518
6 changed files with 19 additions and 38 deletions

View file

@ -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

View file

@ -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

View file

@ -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] }

View file

@ -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: {}

View file

@ -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 }

View file

@ -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