# 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 (non-blocking for T12 Option A) | Area | Examples | Owner repo | | --- | --- | --- | | OCI image repos in Helm values | `gitea.coulomb.social/coulomb/inter-hub`, etc. | `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` | | State Hub alias | `railiance-bootstrap` vs `railiance-cluster` (same fingerprint) | operator / State Hub | ## 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) - [ ] `railiance-bootstrap` hub alias resolved (follow-up) - [ ] Stale OCI/npm references migrated to `forgejo.coulomb.social` (follow-up) - [ ] 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`