Migrováno do nové dokumentace
Forgejo
Git forge nasazená v k3s clusteru. Dostupná na https://forge.mixi.cz.
Přehled
| Parametr | Hodnota |
|---|---|
| Namespace | forgejo |
| Image | codeberg.org/forgejo/forgejo:9 |
| Databáze | SQLite 3 + WAL mode |
| Storage | Longhorn PVC forgejo-data (5 Gi, RWO) |
| HTTP | forge.mixi.cz přes Traefik + Let's Encrypt |
| SSH | forge.mixi.cz:2222 přes Traefik TCP entrypoint |
| Autentizace | Authelia OIDC (OAuth2 source authelia) |
Konfigurace
app.ini je spravován přes ConfigMap forgejo-app-ini (namespace forgejo). Při prvním startu init kontejner (busybox) zkopíruje ConfigMap na PVC do /data/gitea/conf/app.ini. Při dalších restartech soubor na PVC zachová (Forgejo si do něj zapisuje JWT_SECRET a další runtime hodnoty).
Pokud je potřeba propagovat změnu ConfigMap na PVC:
kubectl -n forgejo exec deployment/forgejo -- rm /data/gitea/conf/app.ini
kubectl -n forgejo rollout restart deployment/forgejo
Secrets jsou v k8s Secret forgejo/forgejo-secrets (generováno skriptem kube/forgejo/setup-secrets.sh).
Registrace uživatelů
Přihlašování výhradně přes Authelia OIDC — přímá registrace je zakázána (ALLOW_ONLY_EXTERNAL_REGISTRATION = true). Nový uživatel je automaticky vytvořen při prvním OIDC přihlášení (ENABLE_AUTO_REGISTRATION = true).
Actions runner
DinD sidecar pattern — runner pod obsahuje dva kontejnery:
- runner — code.forgejo.org/forgejo/runner:6.2.2, připojuje se k DinD přes tcp://localhost:2375
- dind — docker:24-dind (privileged), bez TLS, insecure registry mifs01.intranet:5001 (viz Docker Registry)
Joby běží v kontejneru node:20-bookworm s host networkingem (aby viděly DinD na localhost:2375).
Runner token: generuje skript kube/forgejo/setup-runner-secret.sh (user-only).
Zálohy
Nightly logical dump přes forgejo dump CronJob (forgejo/forgejo-dump) — spouští se každý den ve 00:30, výstup do piback.intranet:/srv/backup/forgejo/, retence 14 dní. Doplňuje Longhorn snapshot (01:15) a Amanda (04:00).
Ruční spuštění:
kubectl -n forgejo create job --from=cronjob/forgejo-dump dump-manual
kubectl -n forgejo logs job/dump-manual -f
Manifesty
Všechny manifesty v kube/forgejo/. Apply order viz kube/forgejo/README.md.