Set-OPS-Public/roles/web_dorsal/defaults/main.yml
Daniel Allaire eee7dbd108 web_dorsal : rôle webapps dynamiques (2e brique plateforme, 100% natif)
Runtime (venv/paquets) + service systemd + nginx local, derrière l'edge, ZÉRO
conteneur. Chaque app : git clone (depth 1) → venv + pip → unité systemd durcie
(app en localhost, user webapp, NoNewPrivileges/PrivateTmp) → vhost nginx local
qui la fronte. data_dir persistant pour l'état local (SQLite) ; BD réseau via
resoudre_base sinon.

Éprouvé bout-en-bout sur web-frontal-01 par le rôle : monregistraire (FastAPI+
uvicorn+SQLite) cloné de Forgejo, servi via l'edge en HTTPS step-ca, API OK.
Avec web_frontal, la plateforme webapp native est complète. lint production: 0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 18:37:47 -04:00

23 lines
1.4 KiB
YAML

---
# =========================================================================
# web_dorsal — webapps DYNAMIQUES (runtime + service systemd), derriere l'edge.
# 2e brique de la plateforme webapp : 100% natif (venv/paquets + systemd + nginx),
# ZERO conteneur. L'app ecoute en localhost ; un vhost nginx local la fronte ;
# l'edge proxie vers ce nginx. BD reseau (PG) via resoudre_base si l'app en a une ;
# les apps a etat local (SQLite) utilisent un data_dir persistant.
# Codifie depuis le spike du 2026-07-05 (monregistraire, FastAPI + uvicorn + SQLite).
# =========================================================================
web_dorsal_racine: "/srv/webapp"
web_dorsal_utilisateur: "webapp"
# Liste des webapps servies par ce noeud. Chaque entree :
# nom identifiant court (dossier + service + vhost)
# server_name FQDN servi (doit etre expose via applications.yml -> edge, port 80)
# depot URL du depot git de l'app (souverain, ex. Forgejo)
# branche branche a deployer (defaut: main)
# port port local ecoute par l'app (127.0.0.1:<port>)
# commande ExecStart, relatif au dossier de l'app (ex: .venv/bin/uvicorn app.main:app --host 127.0.0.1 --port 8001)
# requirements fichier pip (defaut: requirements.txt) ; venv cree automatiquement
# env dict de variables d'environnement (secrets via voute)
# data_dir repertoire d'etat persistant (optionnel ; cree, possede par webapp)
web_dorsal_apps: []