This repository has been archived on 2026-06-26. You can view files and clone it, but cannot push or open issues or pull requests.
Set-OPS/roles/serveurs_forgejo
Daniel Allaire 33b1933a6d Rendre explicites les bindings appli<->BD (consommateur, multi-BD)
Modele:
- Chaque base porte un "consommateur" (le groupe applicatif qui l'utilise) et un
  "usage" (principale/cache...). Une application peut avoir plusieurs bases.
- Le binding appli<->base n'est plus une convention de nom mais un champ gere.

Regles partagees (inventory_rules): consommateur requis a la validation;
helper bases_du_groupe(registre, groupe).

GUI (make inventaire-ui):
- Vue "Bases": menu deroulant Consommateur + champ Usage par base -> on fait les
  connexions ici; plusieurs bases par appli supportees.
- Vue "Chaine" detaillee: chaque groupe affiche ses roles ET ses bases avec leur
  chaine de connexion (appli -> base -> serveur de BD -> hote).

CLI (bases_donnees.py): ajouter-base --consommateur --usage; lister affiche
"base <- consommateur (usage): DSN".

Roles serveurs_keycloak / serveurs_forgejo / serveurs_icinga: resolution de leur
base par consommateur (groupe), plus de cle codee en dur.

Valide: ansible-lint (roles), node --check (JS), round-trips GUI et CLI,
multi-BD verifie (serveurs_web_dorsaux -> 2 bases), make inventaire-verifier.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 19:44:05 -04:00
..
defaults Rendre explicites les bindings appli<->BD (consommateur, multi-BD) 2026-06-22 19:44:05 -04:00
handlers Construire l'ecosysteme de services et outiller l'inventaire 2026-06-22 18:06:11 -04:00
tasks Rendre explicites les bindings appli<->BD (consommateur, multi-BD) 2026-06-22 19:44:05 -04:00
templates Gerer les bases de donnees par chaines de connexion (GUI + CLI) 2026-06-22 19:14:12 -04:00
README.md Construire l'ecosysteme de services et outiller l'inventaire 2026-06-22 18:06:11 -04:00

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ée forgejo).
  • app.ini : serveur derrière nginx (HTTP_ADDR=127.0.0.1, ROOT_URL https), DB, secrets, mailer vers serveurs_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).