WP-0005: T12 prep checklist, backup gate 4/7, doc refresh
Update workplan with Jul 9 cron success (4/7 gate, ETA Jul 12), add Gitea retirement dependency scan and operator checklist, and align deploy-stack, restore-drill evidence, and migration inventory with post-cutover state.
This commit is contained in:
parent
0c3968a108
commit
040ccccc8e
5 changed files with 162 additions and 46 deletions
104
docs/forgejo-gitea-retirement-checklist.md
Normal file
104
docs/forgejo-gitea-retirement-checklist.md
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
# 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`
|
||||
Loading…
Add table
Add a link
Reference in a new issue