Skip to content

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: - runnercode.forgejo.org/forgejo/runner:6.2.2, připojuje se k DinD přes tcp://localhost:2375 - dinddocker: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.