Registre multi-serveurs (docs/bases-donnees.yml): - Section serveurs_bd: serveurs de BD nommes (type/hote/port/groupe). - Chaque base reference un serveur nomme; la chaine de connexion derivee fait le lien appli <-> BD. L'hote n'est plus code en dur dans les roles applicatifs. Regles partagees (scripts/inventory_rules.py): - charger_bases_donnees, valider_bases, chaine_connexion (GUI et CLI s'appuient dessus). GUI (make inventaire-ui): - Vue "Bases": serveurs, bases et chaines de connexion (mot de passe masque), gestion complete (ajout/edition/retrait), endpoint POST /api/bases (valide, jeton). CLI (scripts/bases_donnees.py): - lister/verifier/ajouter-serveur/ajouter-base/retirer-*; cibles make bases et bases-verifier; registre valide dans make inventaire-verifier. Roles migres: serveurs_postgresql (filtre par serveur nomme relie a son groupe), serveurs_keycloak / serveurs_forgejo / serveurs_icinga (hote et port depuis le registre). Valide: ansible-lint (roles migres), node --check (JS), round-trips GUI et CLI. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| defaults | ||
| handlers | ||
| tasks | ||
| templates | ||
| README.md | ||
serveurs_forgejo
Forge Git Forgejo (binaire officiel) — dépôts Git, CI, revue de code.
Rôle
- Installe le binaire Forgejo (version épinglée, lien symbolique courant), utilisateur
git. - Crée l'arborescence (
/var/lib/forgejo,/etc/forgejo). - Base PostgreSQL via le registre (
docs/bases-donnees.yml, entréeforgejo). app.ini: serveur derrière nginx (HTTP_ADDR=127.0.0.1,ROOT_URLhttps), DB, secrets, mailer versserveurs_sendmail, inscription désactivée,INSTALL_LOCK(pas d'assistant web).- Service systemd + création du compte administrateur initial (une fois).
Secrets requis (Vault)
serveurs_forgejo_secret_key: "{{ vault_forgejo_secret_key }}" # forgejo generate secret SECRET_KEY
serveurs_forgejo_internal_token: "{{ vault_forgejo_internal_token }}" # forgejo generate secret INTERNAL_TOKEN
serveurs_forgejo_admin_password: "{{ vault_forgejo_admin }}"
vault_bd_forgejo: "..." # mot de passe BD (partage avec serveurs_postgresql)
Variables principales
| Variable | Défaut | Rôle |
|---|---|---|
serveurs_forgejo_version |
10.0.0 |
Version (à vérifier/bumper) |
serveurs_forgejo_hostname |
forge.chezlepro.internal |
Domaine (via nginx) |
serveurs_forgejo_db_host |
10.1.13.11 |
data-01 |
Notes / limites
- Version à confirmer sur forgejo.org/download ; l'URL suit le motif officiel des releases.
- Le site nginx publiant Forgejo se déclare côté
serveurs_nginx. - Mailer en SMTP simple vers le relais interne (sans TLS pour l'instant).
- Non testé live (forge-01 planifié).
Prérequis
- Dépendances
serveurs_postgresql,serveurs_nginx,serveurs_sendmail(cf.docs/dependances-groupes.yml).