# Gitea Retirement Checklist (T12) Date: 2026-07-09 Workplan: `RAIL-HO-WP-0005-T12` Status: **Option A decided** — Gitea retained as read-only fallback ## Operator decision (2026-07-09) **Option A:** Keep coulombcore `gitea` Helm running as documented read-only fallback. | Parameter | Value | | --- | --- | | Rollback window | **30 days** from cutover (2026-07-08 → **2026-08-07**) | | Gitea repo deletes | Forbidden until **2026-08-07** | | Helm retirement revisit | After **2026-08-07** (Option B reassessment) | | Canon | `the-custodian/docs/forgejo-production-decisions.md` § T12 | ## Prerequisites | Gate | Status | | --- | --- | | T04/T09 7-day backup gate | **4/7** (ETA **2026-07-12**) — does not block T12 Option A | | `state-hub` stabilization window | Met (closed 2026-07-09) | | Operator approval (`needs_human`) | **Met** — Option A, 30-day window | Monitor backup gate: ```bash cd ~/railiance-platform && make forgejo-backup-status ``` ## 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 retained intentionally | Host | Release | Namespace | Notes | | --- | --- | --- | --- | | coulombcore (`~/.kube/config`) | `gitea` Helm 12.5.0 | `default` | Read-only fallback through **2026-08-07** | | railiance01 (`config-hosteurope`) | `forgejo` Helm 12.5.0 | `forgejo` | Production canonical | Rollback runbook: `docs/forgejo-cutover-rollback.md` (30-day no-delete contract). ### Follow-up backlog | Area | Status | | --- | --- | | OCI image refs (`railiance-apps` charts/helm/docs) | **Done** (WP-0005 session) | | npm registry URLs (`secrets-engine`, `activity-core`, `railiance-platform`) | **Done** (WP-0005 session) | | Cross-repo sweep (`issue-core`, `state-hub`, `whynot-design`, `ops-hub`, `core-hub`, `reuse-surface`) | **Done** (`RAIL-HO-WP-0006`, 2026-07-09) | | State Hub `railiance-bootstrap` alias | **Done** — archived; `local_path` → `railiance-cluster` | | Workstation `~/railiance-bootstrap` | **Done** — symlink → `railiance-cluster` | | ArgoCD `sourceRepos` | Forgejo primary; Gitea retained for emergency rollback | | Container image re-push to Forgejo | Operator — verify `crictl pull` before redeploy | ## T12 checklist - [x] Operator chooses **Option A** (30-day rollback window) - [x] No active remotes/webhooks/dashboards on Gitea (re-verified 2026-07-09) - [x] Runbooks point to Forgejo (`deploy-stack.md` updated 2026-07-09) - [x] Gitea intentionally retained — coulombcore Helm stays running - [ ] T04/T09 7-day gate **7/7** (workplan close gate; ETA 2026-07-12) - [ ] Final Gitea volume snapshot catalogued (recommended before 2026-08-07) - [x] `railiance-bootstrap` hub alias resolved (2026-07-09) - [x] Stale OCI/npm references migrated to `forgejo.coulomb.social` (2026-07-09) - [ ] After **2026-08-07**: reassess Option B (Helm retirement) ## Option B (deferred) Helm retirement deferred until after the 30-day rollback window. See prior version of this checklist for Option B steps if reassessment proceeds. ## References - `workplans/RAIL-HO-WP-0005-forgejo-production-migration.md` - `docs/forgejo-cutover-rollback.md` - `docs/forgejo-migration-inventory.md` - `the-custodian/docs/forgejo-production-decisions.md`