coulombcore frozen; pg_restore to railiance01 with exact-count gate pass. Phase 3 access rewire still pending.
62 lines
2.2 KiB
Markdown
62 lines
2.2 KiB
Markdown
# T05 Phase 2 Evidence — Data Migration to railiance01 (2026-07-06)
|
|
|
|
Workplan: `CUST-WP-0054-T05`
|
|
Parent runbook: `docs/state-hub-railiance01-cutover-plan.md`
|
|
`no_secret_material_recorded: true`
|
|
|
|
## Checklist
|
|
|
|
| Step | Action | Result | Evidence |
|
|
| --- | --- | --- | --- |
|
|
| 2.1 | Pre-freeze `pg_dump` (coulombcore) | **pass** | `/tmp/state-hub-prefreeze-20260706T165001Z.dump` (3.0 MiB) |
|
|
| 2.2 | Freeze coulombcore writer | **pass** | `deployment/state-hub` scaled to 0 |
|
|
| 2.3 | Final `pg_dump` after freeze | **pass** | `/tmp/state-hub-final-20260706T165019Z.dump` (3.0 MiB) |
|
|
| 2.4 | Restore into railiance01 `state-hub-db` | **pass** | DROP/CREATE `state_hub` + `pg_restore --role=state_hub` |
|
|
| 2.5 | Exact-count comparison | **pass** | All 7 baseline tables match ±0 |
|
|
| 2.6 | Scale railiance01 API + verify | **pass** | Forgejo `main-d1a4fcf`; `/state/health` ok |
|
|
|
|
**Phase 2 status: complete.** Phase 3 (rewire access paths) not started.
|
|
|
|
## Baseline counts (pre-freeze gate)
|
|
|
|
Captured from coulombcore `state-hub-db-1` @ 2026-07-06T16:50Z:
|
|
|
|
| Table | Count |
|
|
| --- | ---: |
|
|
| `workplans` | 640 |
|
|
| `tasks` | 4002 |
|
|
| `topics` | 14 |
|
|
| `progress_events` | 8723 |
|
|
| `token_events` | 1936 |
|
|
| `managed_repos` | 74 |
|
|
| `decisions` | 79 |
|
|
|
|
Post-restore counts on railiance01 matched exactly.
|
|
|
|
## Production state after Phase 2
|
|
|
|
| Cluster | API | DB writer |
|
|
| --- | --- | --- |
|
|
| **railiance01** | Running 1/1 (`forgejo…:main-d1a4fcf`) | **primary** (restored data) |
|
|
| **coulombcore** | Scaled to **0** (frozen, rollback-capable) | Unchanged CNPG (source dump retained) |
|
|
|
|
Workstation `http://127.0.0.1:8000` still tunnels to coulombcore — **unreachable until Phase 3**.
|
|
|
|
## API verification (port-forward `18081:8000`)
|
|
|
|
```json
|
|
{"status":"ok","db":"connected"}
|
|
```
|
|
|
|
`GET /state/summary` totals: topics=14, workstreams=640, tasks=4002, decisions=79.
|
|
|
|
## Rollback
|
|
|
|
- coulombcore dump files retained under `/tmp/state-hub-*-20260706T*.dump` on workstation
|
|
- Scale coulombcore `state-hub` back to 1; do **not** delete railiance01 data until Phase 5 stabilizes
|
|
|
|
## Next: Phase 3
|
|
|
|
- Repoint `state-hub-primary` tunnel → railiance01 ClusterIP `10.43.68.154:8000`
|
|
- activity-core in-cluster URL; retire `fleet-state-hub-coulombcore`
|
|
- Smoke `POST /progress/` through production path |