Modèle presence-web : complété (rôles web existent) — expose + group_vars d'exemple

Les rôles serveur_web_frontal/dorsal existent maintenant → presence-web passe de
« rôles à construire » à . Apps frontal/dorsal exposées (site./app.<domaine>),
group_vars d'exemple (sites statiques + webapp Python). Instancie proprement.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Daniel Allaire 2026-07-05 18:50:46 -04:00
parent af13fc37c9
commit 61a6526ffb
4 changed files with 33 additions and 3 deletions

View file

@ -20,7 +20,7 @@ courriel) et ajoute des **modules** selon l'offre.
| Modèle | = socle + | État |
| --- | --- | --- |
| `socle` | (rien) | ✅ |
| `presence-web` | web (frontal+dorsal) + données | ⚠️ rôles web à construire |
| `presence-web` | web (frontal statique + dorsal dynamique) + données | ✅ |
| `forge` | Forgejo + données | ✅ |
| `identite` | LDAP + Keycloak (SSO) | ✅ |
| `observabilite` | Prometheus/Loki/Grafana + Icinga | ✅ |

View file

@ -0,0 +1,12 @@
---
# Webapps dynamiques servies par le dorsal (rôle serveur_web_dorsal) : runtime +
# service systemd, fronteées par nginx local, exposées via l'edge. Exemple Python.
# Une app à BD réseau déclare sa base dans bases-donnees.yml et passe le DSN via env.
serveur_web_dorsal_apps:
- nom: app
server_name: "app.{{ domaine_interne }}"
depot: "https://forge.{{ domaine_interne }}/…/app.git"
branche: main
port: 8001
commande: ".venv/bin/uvicorn app.main:app --host 127.0.0.1 --port 8001"
data_dir: /var/lib/app

View file

@ -0,0 +1,10 @@
---
# Sites statiques servis par le frontal (rôle serveur_web_frontal), clonés depuis
# un dépôt git souverain (Forgejo) et exposés via l'edge (voir applications.yml).
# Remplacer par les vrais sites du tenant.
serveur_web_frontal_sites:
- nom: site
server_name: "site.{{ domaine_interne }}"
depot: "https://forge.{{ domaine_interne }}/…/site.git"
branche: main
sous_dossier: public

View file

@ -6,5 +6,13 @@ applications:
dns: { groupe: serveur_powerdns, hote: infra-dns-01 }
bdd: { groupe: serveur_postgresql, hote: data-01, port: 5432 }
cache: { groupe: serveur_redis, hote: data-01 }
frontal: { groupe: serveur_web_frontal, hote: web-frontal-01 }
dorsal: { groupe: serveur_web_dorsal, hote: web-dorsal-01 }
frontal:
groupe: serveur_web_frontal
hote: web-frontal-01
port: 80
expose: [site.exemple.internal]
dorsal:
groupe: serveur_web_dorsal
hote: web-dorsal-01
port: 80
expose: [app.exemple.internal]