Files
archicratie-edition/docs/runbook-proposer-gitea.md
Archicratia 010601be63
All checks were successful
CI / build-and-anchors (push) Successful in 1m30s
SMOKE / smoke (push) Successful in 15s
docs: add runbooks (proposer/whoami gate, blue-green deploy, gitea PR workflow)
2026-02-13 17:33:33 +01:00

1.9 KiB
Raw Blame History

Runbook — Bouton “Proposer” (site → Gitea issue) + Gate Authelia

Objectif

Permettre une proposition de correction éditoriale depuis un paragraphe du site, en créant une issue Gitea pré-remplie, uniquement pour les membres du groupe editors.


Pré-requis

  • Traefik (edge) en front
  • Authelia (forwardAuth) opérationnel
  • Router /_auth/whoami exposé (whoami)
  • Variables PUBLIC_GITEA_* injectées au build du site

Vérification rapide (navigateur)

1) Qui suis-je ? (groupes)

Dans la console : en js : await fetch("/auth/whoami?=" + Date.now(), { credentials: "include", cache: "no-store", }).then(r => r.text());

Attendu (extraits) :

Remote-User:

Remote-Groups: ...,editors,... pour un éditeur

2) Le bouton existe ?

document.querySelectorAll(".para-propose").length

0 si editors

0 si non-editor

Vérification côté NAS (build vars)

1) Blue et Green contiennent les constantes ?

P="/archicratie/archicrat-ia/chapitre-4/"

curl -sS "http://127.0.0.1:8081$P" | grep -n "const GITEA_BASE" | head -n 2 curl -sS "http://127.0.0.1:8082$P" | grep -n "const GITEA_BASE" | head -n 2

2) Si une des deux est vide → rebuild propre

Dans /volume2/docker/archicratie-web/current :

cat > .env <<'EOF' PUBLIC_GITEA_BASE=https://gitea.archicratie.trans-hands.synology.me PUBLIC_GITEA_OWNER=Archicratia PUBLIC_GITEA_REPO=archicratie-edition EOF

sudo env DOCKER_API_VERSION=1.43 docker compose -f docker-compose.yml build --no-cache web_blue web_green sudo env DOCKER_API_VERSION=1.43 docker compose -f docker-compose.yml up -d --force-recreate --no-build web_blue web_green

Dépannage (si Proposer “disparaît”)

Vérifier groupes via /_auth/whoami

Vérifier const GITEA_BASE via curl sur le slot actif

Vérifier que Traefik sert bien le slot actif (grep via curl -H Host: ... http://127.0.0.1:18080/...)

Ouvrir la console : vérifier quaucune erreur JS nempêche linjection des outils paragraphe