# Gitea Retirement Checklist (T12 prep) Date: 2026-07-09 Workplan: `RAIL-HO-WP-0005-T12` Status: **prep only** — no Gitea retirement executed ## Prerequisites (not yet met) | Gate | Status | ETA | | --- | --- | --- | | T04/T09 7-day backup gate | **4/7** (`make forgejo-backup-status`) | **2026-07-12** if daily 02:15 UTC cron keeps succeeding | | `state-hub` stabilization window | Ends **2026-07-09** | Met | | Operator approval (`needs_human`) | Pending | Required before any Helm teardown | Monitor: ```bash cd ~/railiance-platform && make forgejo-backup-status tail -5 ~/.cache/railiance/backups/forgejo/cron.log ``` ## Dependency scan (2026-07-09) ### Clear — no active git remotes on Gitea | Check | Result | | --- | --- | | State Hub `remote_url` | **82 Forgejo**, **0 Gitea**, **0** without remote | | Workstation `origin` using `gitea-remote` | **0** (legacy `gitea` remotes retained for rollback only) | | Forgejo Actions workflows referencing `gitea-remote` | **0** | ### Gitea still running (intentional fallback) | Host | Release | Namespace | Notes | | --- | --- | --- | --- | | coulombcore (`~/.kube/config`) | `gitea` Helm 12.5.0 | `default` | Archived read-only repos; package push disabled | | railiance01 (`config-hosteurope`) | `forgejo` Helm 12.5.0 | `forgejo` | Production canonical | Rollback runbook: `docs/forgejo-cutover-rollback.md` (90-day no-delete contract). ### Stale references — docs/config, not live git remotes These do **not** block Forgejo operation but should be cleaned before or during Gitea retirement: | Area | Examples | Owner repo | | --- | --- | --- | | OCI image repos in Helm values | `gitea.coulomb.social/coulomb/inter-hub`, `reuse-surface`, `vergabe-teilnahme` | `railiance-apps` | | npm registry URLs | `gitea.coulomb.social/api/packages/coulomb/npm/` | `secrets-engine`, `activity-core` | | Ops inventory endpoint | `activity-core/k8s/railiance/20-runtime.yaml` | `activity-core` | | Deploy runbook | `docs/deploy-stack.md` (this repo) | `railiance-infra` — updated 2026-07-09 | ### State Hub alias: `railiance-bootstrap` | Field | `railiance-bootstrap` | `railiance-cluster` | | --- | --- | --- | | `local_path` | `/home/worsch/railiance-bootstrap` | `/home/worsch/railiance-cluster` | | `remote_url` | `forgejo-remote:coulomb/railiance-bootstrap.git` | `forgejo-remote:coulomb/railiance-cluster.git` | | `git_fingerprint` | `6b930728…` (same) | `6b930728…` (same) | Working assumption confirmed: stale logical alias. T12 action: operator decides whether to archive the hub entry or repoint `local_path` to `railiance-cluster` after confirming no checkout depends on `/home/worsch/railiance-bootstrap`. ## Operator decision Choose one before executing T12: ### Option A — Keep Gitea as documented fallback (recommended until 2026-10-08) - Leave coulombcore `gitea` Helm release running. - Document in runbooks: read-only archive, no new pushes. - Revisit retirement after 90-day rollback window. - **T12 done when:** Forgejo is sole *active* forge; Gitea retained intentionally. ### Option B — Retire Gitea Helm release Only after prerequisites + explicit approval: 1. Re-run dependency scan (State Hub remotes, ArgoCD `repoURL`, CI workflows). 2. Take final Gitea backup (`forgejo dump` equivalent via Gitea admin or volume snapshot). 3. Export archived repo list for audit. 4. Scale down or uninstall `gitea` Helm on coulombcore. 5. Update `docs/forgejo-cutover-rollback.md` — rollback becomes volume-restore only. 6. Prune DNS/ingress if no longer needed. ## T12 task checklist - [ ] T04/T09 7-day gate **7/7** - [ ] Operator chooses Option A or B - [ ] Final Gitea backup captured and catalogued - [ ] No active remotes/webhooks/dashboards on Gitea (re-verify) - [ ] Runbooks point to Forgejo (`deploy-stack.md`, layer repo docs) - [ ] `railiance-bootstrap` hub alias resolved - [ ] Stale OCI/npm references migrated to `forgejo.coulomb.social` (follow-up workplans in `railiance-apps`, `activity-core`) - [ ] If Option B: Gitea Helm retired; evidence logged to State Hub ## References - `workplans/RAIL-HO-WP-0005-forgejo-production-migration.md` - `docs/forgejo-cutover-rollback.md` - `docs/forgejo-migration-inventory.md` - `railiance-platform/docs/forgejo-backup.md` - `the-custodian/tools/gitea-set-readonly.sh`