Set-OPS-Public/roles/serveur_forgejo
Daniel Allaire a08c61bb4e acces : Forgejo et Nextcloud cables, et le claim groups emis
Les deux services n'etaient pas encore deployes : les cabler maintenant vaut
mieux que les corriger apres. `porte_par` passe de `aucun` a `claim-groupe`.

Forgejo recoit --group-claim-name + --admin-group, et sa tache passe de « creer
si absent » a add-oauth OU update-oauth : le meme defaut que la federation
Keycloak — cree une fois, jamais corrige — l'attendait sinon.

Nextcloud recoit --mapping-groups + --group-provisioning, plus une tache qui
verse les membres du groupe d'habilitation dans le groupe interne `admin` : etre
dans un groupe projete ne donne aucun pouvoir en soi.

Le maillon qui manquait aux deux : AUCUN mapper de protocole n'emettait le claim.
Les groupes existaient dans le realm et n'apparaissaient dans aucun jeton — un
cablage correct des deux cotes et rien au milieu. `oidc-group-membership-mapper`
pose sur les trois clients, `full.path=false` pour que le claim porte `sysadmin`
et non `/sysadmin`.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 14:49:28 -04:00
..
defaults acces : Forgejo et Nextcloud cables, et le claim groups emis 2026-08-07 14:49:28 -04:00
files/custom Aurore rose-mauve et vert fluo ; thème Forgejo étendu au wiki 2026-07-21 17:42:52 -04:00
handlers Rendre le dry-run (--check) fiable sur les rôles applicatifs 2026-07-01 21:01:53 -04:00
meta acces : Forgejo et Nextcloud cables, et le claim groups emis 2026-08-07 14:49:28 -04:00
tasks acces : Forgejo et Nextcloud cables, et le claim groups emis 2026-08-07 14:49:28 -04:00
templates authentification : SSO Keycloak devant, secours par sudo, formulaire local fermé 2026-08-03 16:50:36 -04:00
README.md Aurore : opacites reduites ; etat de forge-01 elucide 2026-07-22 11:57:50 -04:00

serveur_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 (instance/plan/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 serveur_postfix, inscription désactivée, INSTALL_LOCK (pas d'assistant web).
  • Service systemd + création du compte administrateur initial (une fois).

Secrets requis (Vault)

serveur_forgejo_secret_key: "{{ vault_forgejo_secret_key }}"        # forgejo generate secret SECRET_KEY
serveur_forgejo_internal_token: "{{ vault_forgejo_internal_token }}" # forgejo generate secret INTERNAL_TOKEN
serveur_forgejo_admin_password: "{{ vault_forgejo_admin }}"
vault_bd_forgejo: "..."   # mot de passe BD (partage avec serveur_postgresql)

Variables principales

Variable Défaut Rôle
serveur_forgejo_version 10.0.0 Version (à vérifier/bumper)
serveur_forgejo_hostname forge.exemple.internal Domaine (via nginx)
serveur_forgejo_db_host 10.0.13.11 data-01

Identité visuelle (thème Alliance Boréale)

Désactivée par défaut : serveur_forgejo_branding: false. À true, le rôle copie files/custom/ vers {{ serveur_forgejo_data }}/custom/ — logo, favicon, page d'accueil et la feuille public/assets/css/alliance.css, injectée sur toutes les pages par templates/custom/header.tmpl.

Le wiki n'a donc pas de thème distinct : Forgejo le rend avec le même habillage, et la feuille le couvre au même titre que les dépôts, les tickets et les README.

alliance.css est en deux sections, de risque différent :

Section Contenu Risque État
§1 Variables surcharge des variables de couleur officielles (--color-primary, --color-body…) Sûr — aucune classe interne touchée, résiste aux mises à jour Éprouvé sur forge-01 (CHANGELOG 2026-07-03 : alliance.css servi, cyan aurore rendu)
§2 Décor fond aurore (body), filet sous les titres, citations, tableaux et code en ligne du contenu rendu (.markup) Fragile — sélecteurs internes de Forgejo, à revérifier après chaque montée de version majeure Jamais rendu — ajouté le 2026-07-21, validé en syntaxe CSS seulement

Supprimer §2 ramène au thème sobre d'origine : §1 se suffit à elle-même.

Le ciel nocturne ne s'applique qu'aux thèmes sombres (theme-forgejo-dark, theme-forgejo-auto) pour ne pas casser le thème clair.

Pour une forge hors flotte (instance Forgejo non gérée par Set-OPS), la pose manuelle des mêmes fichiers est décrite dans docs/theme-forgejo-hors-flotte.md.

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é serveur_nginx.
  • Mailer en SMTP simple vers le relais interne (sans TLS pour l'instant).
  • forge-01 a existé, puis a été supprimée. L'hôte est donc etat: planifie dans instance/plan/serveurs.yml (état actuel) alors que CHANGELOG.md (2026-07-03) affirme le branding « prouvé sur forge-01 » (état passé, accueil 200, alliance.css servi). Les deux disent vrai : ce n'est pas une contradiction, c'est un enregistrement historique face à un état courant. La preuve reste valable — elle ne sera simplement rejouable qu'après recréation de l'hôte.

Prérequis

  • Dépendances serveur_postgresql, serveur_nginx, serveur_postfix (cf. docs/dependances-groupes.yml).