Set-OPS-Public/roles/serveur_forgejo/defaults/main.yml
Daniel Allaire f05f505b88 Reconstruction propre : orchestrateur ordonné, registre des flux + pare-feu
Rend l'écosystème reconstructible en une commande (create+deploy idempotent) et
ajoute la couche « accès » (nftables least-privilege) au zéro-confiance.

Orchestrateur (phase 2) :
- docs/couches-deploiement.yml : registre des couches (socle → pki → services → apps → agents)
- scripts/orchestrer.py : tri par couche + topo intra-couche (graphe) → playbooks/site.yml ordonné
- Makefile : site / deployer-tout / flotte-creer / reconstruire / myDay (+ gardes CONFIRMER)
- docs/dependances-groupes.yml : graphe complété (keycloak→openldap, dovecot, postfix, icingaweb2, nextcloud)

Audit codé-en-dur (phase 1b) : labels/slug OIDC dérivés de l'intrant `organisation`
(serveur_forgejo/grafana/nextcloud) — le moteur ne porte plus de nom de tenant.

Registre des flux réseau (phase 0) :
- meta/flux.yml pour tous les rôles (29 rôles, 63 flux ; schéma + matrice validés)
- scripts/resoudre_flux.py : matrice d'audit (docs/registre-flux.md) + rulesets nftables résolus par hôte
- roles/nftables_baseline : déploie le ruleset résolu (moindre-privilège) quand activé, sinon repli

Correctifs : détection du coffre Vault (chemin production → inventaire réellement résolu).
Outillage : make wiki-publier (publication du wiki pédagogique dans Forgejo).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-07 03:08:09 -04:00

55 lines
3 KiB
YAML

---
# Version Forgejo : verifier/ajuster sur https://forgejo.org/download/
serveur_forgejo_version: "10.0.0"
serveur_forgejo_url: >-
https://codeberg.org/forgejo/forgejo/releases/download/v{{ serveur_forgejo_version }}/forgejo-{{ serveur_forgejo_version }}-linux-amd64
serveur_forgejo_binaire: "/usr/local/bin/forgejo"
serveur_forgejo_utilisateur: "git"
serveur_forgejo_data: "/var/lib/forgejo"
serveur_forgejo_config_dir: "/etc/forgejo"
serveur_forgejo_config: "/etc/forgejo/app.ini"
serveur_forgejo_service: "forgejo"
# Publication (derriere serveur_nginx, TLS a l'edge).
serveur_forgejo_hostname: "forge.{{ domaine_interne }}"
# --- Identité visuelle (branding, léger). serveur_forgejo_branding=true déploie le
# dossier custom/ (logo, favicon, accent aurore CSS, page d'accueil brandée).
serveur_forgejo_app_name: "Forgejo"
serveur_forgejo_theme: "forgejo-auto"
serveur_forgejo_meta_description: "Forge git souveraine."
serveur_forgejo_branding: false
# Adresse d'ecoute : 0.0.0.0 car l'edge nginx est sur un AUTRE hote (le distant doit
# joindre le backend). A restreindre par pare-feu (nftables) au reseau interne / a l'edge.
serveur_forgejo_http_addr: "0.0.0.0"
serveur_forgejo_http_port: 3000
# Base de donnees : resolue depuis le registre par le groupe consommateur.
serveur_forgejo_groupe: "serveur_forgejo"
serveur_forgejo_db_host: "" # dérivé (FQDN) par resoudre_base au déploiement
# Relais courriel.
serveur_forgejo_smtp: "infra-mail-01.{{ domaine_interne }}"
# Secrets OBLIGATOIRES (Ansible Vault).
serveur_forgejo_secret_key: "{{ vault_forgejo_secret_key | default('') }}" # rempli depuis la voute (vault_forgejo_secret_key)
serveur_forgejo_internal_token: "{{ vault_forgejo_internal_token | default('') }}" # rempli depuis la voute (vault_forgejo_internal_token)
serveur_forgejo_admin_user: "forgejo-admin"
serveur_forgejo_admin_email: "admin@{{ domaine_interne }}"
serveur_forgejo_admin_password: "{{ vault_forgejo_admin | default('') }}" # rempli depuis la voute (vault_forgejo_admin)
# --- SSO OIDC (Keycloak, realm applicatif) — « Se connecter avec <organisation> » ---
# Requiert client_pki (confiance step_ca) + résolution de l'hôte Keycloak (plancher/DNS).
# Le client OIDC doit exister dans le realm (serveur_keycloak_clients).
serveur_forgejo_oidc_actif: true
serveur_forgejo_oidc_nom: "{{ organisation | default('organisation') | lower | replace(' ', '-') }}" # slug du callback : /user/oauth2/<nom>/callback
serveur_forgejo_oidc_client_id: "forgejo"
serveur_forgejo_oidc_client_secret: "{{ vault_forgejo_oidc | default('') }}" # voûte (vault_forgejo_oidc)
serveur_forgejo_oidc_realm: "{{ identite_realm | default('chezlepro') }}"
serveur_forgejo_oidc_discovery: "https://keycloak.{{ domaine_interne }}/realms/{{ serveur_forgejo_oidc_realm }}/.well-known/openid-configuration"
# TLS vers PostgreSQL (zero-confiance). 'disable' = compat ; 'verify-full' = chiffre + verifie
# le cert serveur contre le root_ca step-ca (via PGSSLROOTCERT dans l'unite systemd).
serveur_forgejo_db_sslmode: "disable"
serveur_forgejo_db_sslrootcert: "/etc/step/certs/root_ca.crt"