docs: close private shadow rehearsal
This commit is contained in:
parent
a619e995de
commit
8cc3241bc9
4 changed files with 81 additions and 5 deletions
|
|
@ -56,6 +56,6 @@
|
||||||
| task | CORE-WP-0010-T05 | todo | — | workplans/CORE-WP-0010-runtime-absorption-and-archive.md |
|
| task | CORE-WP-0010-T05 | todo | — | workplans/CORE-WP-0010-runtime-absorption-and-archive.md |
|
||||||
| task | CORE-WP-0011-T01 | done | — | workplans/CORE-WP-0011-railiance01-production-relocation.md |
|
| task | CORE-WP-0011-T01 | done | — | workplans/CORE-WP-0011-railiance01-production-relocation.md |
|
||||||
| task | CORE-WP-0011-T02 | done | — | workplans/CORE-WP-0011-railiance01-production-relocation.md |
|
| task | CORE-WP-0011-T02 | done | — | workplans/CORE-WP-0011-railiance01-production-relocation.md |
|
||||||
| task | CORE-WP-0011-T03 | wait | — | workplans/CORE-WP-0011-railiance01-production-relocation.md |
|
| task | CORE-WP-0011-T03 | done | — | workplans/CORE-WP-0011-railiance01-production-relocation.md |
|
||||||
| task | CORE-WP-0011-T04 | todo | — | workplans/CORE-WP-0011-railiance01-production-relocation.md |
|
| task | CORE-WP-0011-T04 | todo | — | workplans/CORE-WP-0011-railiance01-production-relocation.md |
|
||||||
| task | CORE-WP-0011-T05 | todo | — | workplans/CORE-WP-0011-railiance01-production-relocation.md |
|
| task | CORE-WP-0011-T05 | todo | — | workplans/CORE-WP-0011-railiance01-production-relocation.md |
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,12 @@ stops before public Ingress, DNS, tunnel changes, a final write freeze, or any
|
||||||
CoulombCore teardown.
|
CoulombCore teardown.
|
||||||
|
|
||||||
Authoritative deploy input: `/home/worsch/rapp-core-hub` at or after package
|
Authoritative deploy input: `/home/worsch/rapp-core-hub` at or after package
|
||||||
commit `03effc8`, chart `0.3.0`.
|
commit `7cfa8bb`, chart `0.3.1`.
|
||||||
|
|
||||||
|
The private-shadow rehearsal completed on 2026-08-21. The procedure below is
|
||||||
|
retained for repeatability and rollback; completion evidence is in
|
||||||
|
`docs/evidence/core-hub-railiance01-private-shadow-2026-08-21.md`. It still
|
||||||
|
does not authorize public cutover.
|
||||||
|
|
||||||
## 1. Admission gates
|
## 1. Admission gates
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,53 @@
|
||||||
|
# Core Hub railiance01 private-shadow completion — 2026-08-21
|
||||||
|
|
||||||
|
## Result
|
||||||
|
|
||||||
|
The private Core Hub shadow is healthy on railiance01 and the rehearsal gate
|
||||||
|
`CORE-WP-0011-T03` is complete. Public Ingress remains absent. Production
|
||||||
|
traffic, DNS, the ops-bridge tunnel, the CoulombCore writer, and the source
|
||||||
|
runtime were not changed or retired.
|
||||||
|
|
||||||
|
The platform-owned detailed evidence is
|
||||||
|
`/home/worsch/railiance-platform/docs/evidence/core-hub-private-shadow-2026-08-21.md`
|
||||||
|
at railiance-platform commit `1206ed5`.
|
||||||
|
|
||||||
|
## Data reconciliation
|
||||||
|
|
||||||
|
- A consistent logical archive was captured from the live source at
|
||||||
|
`2026-08-20 22:12:26 UTC`; its SHA-256 is
|
||||||
|
`3770946a1032c4109fea32fc00f4411c2f4d9311a28fb17bfc3d0d2de888db8b`.
|
||||||
|
- Source and restored target matched at Alembic revision `20260627_0002`,
|
||||||
|
eight tables and 39 rows before shadow smoke activity.
|
||||||
|
- The source archive's `public` tables were moved explicitly into the accepted
|
||||||
|
target `core_hub` schema. Ownership, migration-role membership and runtime
|
||||||
|
SELECT grants were verified.
|
||||||
|
- Later target counts differ only by the protected write operations performed
|
||||||
|
by the successful shadow smokes; this target remains a rehearsal copy, not
|
||||||
|
the production writer.
|
||||||
|
|
||||||
|
## Runtime and credential proof
|
||||||
|
|
||||||
|
- Helm release revision 2 runs `rapp-core-hub` chart `0.3.1`, package commit
|
||||||
|
`7cfa8bb`, at immutable image digest
|
||||||
|
`sha256:0db6f7c646c6d4c1fbc844dc266fcf883584637e1c1f47802efe1c6a98558d3c`.
|
||||||
|
- The migration Job completed and the Deployment, Service, three governed
|
||||||
|
Secret projections and three NetworkPolicies are healthy; no Ingress exists.
|
||||||
|
- API-token, runtime-database and migration-database credentials use disjoint,
|
||||||
|
namespace-limited OpenBao/ESO paths. Cross-namespace and sibling/parent-path
|
||||||
|
denials and runtime-versus-migration role separation passed.
|
||||||
|
- A chart `0.3.1` lease refresh changed the runtime Secret and application
|
||||||
|
child PID while the pod UID stayed fixed, the container restart count stayed
|
||||||
|
zero, and readiness returned. Logs contained only the non-secret rotation
|
||||||
|
notice.
|
||||||
|
|
||||||
|
## Private verification
|
||||||
|
|
||||||
|
The hardened package verifier passed. Authenticated smoke run
|
||||||
|
`20260820224419-43dc05` passed health, readiness, OpenAPI, four public catalogs,
|
||||||
|
unauthenticated `401` enforcement, and authenticated protected reads and
|
||||||
|
writes. The token was injected from approved custody, never copied into this
|
||||||
|
repo, and the temporary token file was shredded after use.
|
||||||
|
|
||||||
|
The next gate is `CORE-WP-0011-T04`. It requires separate explicit operator
|
||||||
|
approval for a bounded write freeze, final transfer/reconciliation, public
|
||||||
|
routing and tunnel changes, plus rollback readiness.
|
||||||
|
|
@ -8,7 +8,7 @@ status: active
|
||||||
owner: codex
|
owner: codex
|
||||||
topic_slug: infotech
|
topic_slug: infotech
|
||||||
created: "2026-08-20"
|
created: "2026-08-20"
|
||||||
updated: "2026-08-20"
|
updated: "2026-08-21"
|
||||||
parent_project: prj-state-hub-retirement
|
parent_project: prj-state-hub-retirement
|
||||||
parent_workplan: SHR-WP-0002
|
parent_workplan: SHR-WP-0002
|
||||||
related:
|
related:
|
||||||
|
|
@ -137,7 +137,7 @@ that this workstation is not the production workplan-UUID registrar.
|
||||||
|
|
||||||
```task
|
```task
|
||||||
id: CORE-WP-0011-T03
|
id: CORE-WP-0011-T03
|
||||||
status: wait
|
status: done
|
||||||
priority: high
|
priority: high
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -162,6 +162,24 @@ requirements, private smokes, live lease-rotation proof and rehearsal rollback
|
||||||
are recorded in `docs/deployment/railiance01-shadow-runbook.md` so work can
|
are recorded in `docs/deployment/railiance01-shadow-runbook.md` so work can
|
||||||
resume immediately after platform admission.
|
resume immediately after platform admission.
|
||||||
|
|
||||||
|
Completed 2026-08-21. `RPF-WP-0021` admitted Core Hub as the fourth and final
|
||||||
|
`platform-pg` consumer, established separate static API-token and dynamic
|
||||||
|
runtime/migration database lanes, and restored a consistent 39-row source
|
||||||
|
archive. The source `public` tables were explicitly reconciled into the
|
||||||
|
accepted target `core_hub` schema; all eight tables, Alembic revision
|
||||||
|
`20260627_0002`, ownership and runtime grants matched before shadow smoke
|
||||||
|
activity. The migration Job completed, Helm revision 2 deployed package chart
|
||||||
|
`0.3.1` at `rapp-core-hub` commit `7cfa8bb`, and no Ingress exists.
|
||||||
|
|
||||||
|
The hardened private verifier and authenticated smoke
|
||||||
|
`20260820224419-43dc05` passed all ten checks. A fresh runtime lease then
|
||||||
|
changed the projected Secret and application child PID while the pod UID and
|
||||||
|
container restart count remained stable; readiness returned without exposing
|
||||||
|
a credential. The shadow now contains the expected smoke-created rows, while
|
||||||
|
the public endpoint and source writer remain on CoulombCore. Repo-local
|
||||||
|
evidence is in
|
||||||
|
`docs/evidence/core-hub-railiance01-private-shadow-2026-08-21.md`.
|
||||||
|
|
||||||
## Cut over production traffic
|
## Cut over production traffic
|
||||||
|
|
||||||
```task
|
```task
|
||||||
|
|
@ -197,7 +215,7 @@ this repo unless the separate absorption workplan has also completed.
|
||||||
|
|
||||||
- [x] Decommission deadline and live source/target inventory are recorded
|
- [x] Decommission deadline and live source/target inventory are recorded
|
||||||
- [x] Governed rapp package renders and passes policy checks
|
- [x] Governed rapp package renders and passes policy checks
|
||||||
- [ ] Shadow restore/reconciliation and consumer smokes pass on railiance01
|
- [x] Shadow restore/reconciliation and consumer smokes pass on railiance01
|
||||||
- [ ] Production traffic and tunnel move with explicit approval and rollback
|
- [ ] Production traffic and tunnel move with explicit approval and rollback
|
||||||
- [ ] Stabilization passes and CoulombCore no longer hosts Core Hub dependencies
|
- [ ] Stabilization passes and CoulombCore no longer hosts Core Hub dependencies
|
||||||
- [ ] `CORE-WP-0010` remains independently sequenced behind `HUB-WP-0004`
|
- [ ] `CORE-WP-0010` remains independently sequenced behind `HUB-WP-0004`
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue