Complete live State Hub signing activation and rotation acceptance
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s

Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a06ecb-456a-71c2-b41e-0755d336e883
This commit is contained in:
codex 2026-09-05 18:12:37 +02:00
parent ae27a42b18
commit 5d6d8724b4
7 changed files with 167 additions and 9 deletions

View file

@ -32,7 +32,7 @@
| task | RPF-WP-0035-T01 | done | — | workplans/RPF-WP-0035-credential-lane-implementation.md |
| task | RPF-WP-0035-T02 | wait | — | workplans/RPF-WP-0035-credential-lane-implementation.md |
| task | RPF-WP-0035-T03 | wait | — | workplans/RPF-WP-0035-credential-lane-implementation.md |
| task | RPF-WP-0035-T04 | progress | — | workplans/RPF-WP-0035-credential-lane-implementation.md |
| task | RPF-WP-0035-T04 | done | — | workplans/RPF-WP-0035-credential-lane-implementation.md |
| task | RPF-WP-0036-T01 | done | — | workplans/RPF-WP-0036-platform-service-assurance.md |
| task | RPF-WP-0036-T02 | done | — | workplans/RPF-WP-0036-platform-service-assurance.md |
| task | RPF-WP-0036-T03 | wait | — | workplans/RPF-WP-0036-platform-service-assurance.md |

View file

@ -3,7 +3,7 @@ kind: credential-change-request
schema_version: 1
request_type: workload-kv-read
title: State Hub repository-rename preflight signing read lane
status: approved
status: active
created: '2026-09-05'
updated: '2026-09-05'
requester:
@ -73,8 +73,8 @@ access_frontdoor:
type: external-secrets
catalog_id: state-hub-rename-preflight
selector: State Hub API preflight signing delivery only
readiness: pending-review
resolvable: false
readiness: ready
resolvable: true
delivery:
surface: external-secrets
target: Namespace SecretStore openbao-state-hub-rename-preflight -> ExternalSecret/Secret
@ -82,7 +82,7 @@ delivery:
Retain deletion policy.
bootstrap_command: See docs/credential-lane-designs/state-hub-preflight-signing.md;
scripts/state_hub_preflight_lane.py stages the attended protected writer separately
from this read grant. Owner acceptance and the activation runbook remain pending.
from this read grant. Accepted activation and rotation evidence is recorded in state-hub-preflight-activation.md.
risk:
classification: high
notes:
@ -108,7 +108,15 @@ verification:
- Demand remains FLEX-WP-0020-T05; target primary/railiance01 and fixture confirmed.
- CAS-zero protected generation, exact read grant, and API-only delivery verified.
- Controlled-outage fence and recovery exercised before completion.
evidence: []
evidence:
- at: '2026-09-05T15:59:08+00:00'
actor: codex
kind: frontdoor_activation
result: passed
details:
- 'docs/evidence/RPF-WP-0035-T04-signing-activation-2026-09-05.json: exact access
negatives, ESO delivery, API-only signing, CAS version 2, predecessor signature
denial and forward recovery passed; Helm revision 59.'
lifecycle:
deactivate: Fence API replicas, disable signing binding and ESO role, restart without
signing; retain KV history by explicit retention decision.

View file

@ -35,7 +35,7 @@ cross-namespace store references. Coding-agent data AND metadata are denied.
```sh
warden access openbao-platform-admin-login --exec -- \
/usr/bin/python3 /home/worsch/railiance-platform/scripts/state_hub_preflight_lane.py \
provision --expected-version 0 --kubeconfig /home/worsch/.kube/config \
provision --expected-version 0 --kubeconfig /home/worsch/.kube/config-railiance01 \
--receipt /tmp/statehub-preflight-provision.json --confirm 'APPLY CCR-2026-0015'
```
@ -107,3 +107,25 @@ preserving every unrelated live rule. It does not deploy the pending Policy
Nexus source-only change as part of this lane. The global source policy retains
its desired rules; live parity for that other lane remains a platform assurance
observation, not an acceptance claim here.
## Accepted activation — 2026-09-05
T04 completed; CCR-2026-0015 is active. Version 1 was generated with CAS zero,
then version 2 was generated with CAS 1 during the all-API-replicas outage.
Both custody receipts passed exact read and scope/identity denials. ESO is Ready;
Helm revision 59 enabled the API-only binding with the existing image. The
post-rotation API probe passed key equality, primary health, new signed preflight
and predecessor signature rejection. No repository rename was executed.
ESO v0.16.1 required token self-validation and cleanup despite the deliberate
absence of the default policy. The exact read policy now additionally permits
`auth/token/lookup-self` read and `auth/token/revoke-self` update. It adds no KV
metadata, parent list or secret write. Source evidence:
https://github.com/external-secrets/external-secrets/blob/v0.16.1/pkg/provider/vault/auth.go
The bounded `repair-policy` action refuses drift and does not regenerate a key.
Use the dedicated kubeconfig above, whose port-forward endpoint is 16444;
the default config's 16443 listener was unavailable. Always verify the pinned
cluster UID. Protected predecessor fixture was removed after acceptance.
Receipts: `docs/evidence/RPF-WP-0035-T04-signing-activation-2026-09-05.json`.

View file

@ -1,6 +1,8 @@
# State Hub repository-rename preflight signing lane
Status: implementation staged, not provisioned. Owner: railiance-platform, RPF-WP-0035-T04.
Status: active; accepted 2026-09-05. Owner: railiance-platform, RPF-WP-0035-T04.
CCR-2026-0015 is active at key version 2. See
`state-hub-preflight-activation.md` for the accepted implementation and evidence.
Demand: State Hub message `cd52ba10-de41-46ce-aa8b-9b44050da8f7`,
STATE-WP-0085-T09. Provisioning this lane does not authorize any repository rename.

View file

@ -0,0 +1,79 @@
{
"schema": "platform.statehub-preflight-activation.v1",
"date": "2026-09-05",
"task": "RPF-WP-0035-T04",
"cluster_uid": "a553c742-0115-43d4-99a4-a5ca56fe0786",
"helm_revision": 59,
"chart_commit": "49e3182332cd46bd66ea51d77c97a97f65c48001",
"image": "main-cdff3b7",
"final_kv_version": 2,
"repository_rename_performed": false,
"receipts": {
"provision": {
"schema": "platform.statehub-preflight-custody.v1",
"status": "custody_verified_pending_eso_and_api_acceptance",
"action": "provision",
"kv_version": 1,
"key_generation": "CSPRNG-32-bytes-CAS",
"exact_read_and_scope_denials": true,
"wrong_sa": true,
"wrong_namespace": true,
"wrong_audience": true,
"coding_agent_deny_wins": true
},
"eso_policy_repair": {
"schema": "platform.statehub-preflight-custody.v1",
"status": "custody_verified_pending_eso_and_api_acceptance",
"action": "repair-policy",
"exact_read_and_scope_denials": true,
"wrong_sa": true,
"wrong_namespace": true,
"wrong_audience": true,
"coding_agent_deny_wins": true
},
"before_rotation": {
"schema": "platform.statehub-preflight-api-acceptance.v1",
"status": "passed",
"api_only": true,
"replicas": 1,
"secret_resource_version": "57218196",
"results": [
{
"key_matches": true,
"signed_preflight_valid": true,
"old_token_rejected": null,
"blockers": [],
"health": true
}
]
},
"rotation": {
"schema": "platform.statehub-preflight-custody.v1",
"status": "custody_verified_pending_eso_and_api_acceptance",
"action": "rotate",
"kv_version": 2,
"key_generation": "CSPRNG-32-bytes-CAS",
"exact_read_and_scope_denials": true,
"wrong_sa": true,
"wrong_namespace": true,
"wrong_audience": true,
"coding_agent_deny_wins": true
},
"after_rotation": {
"schema": "platform.statehub-preflight-api-acceptance.v1",
"status": "passed",
"api_only": true,
"replicas": 1,
"secret_resource_version": "57239554",
"results": [
{
"key_matches": true,
"signed_preflight_valid": true,
"old_token_rejected": true,
"blockers": [],
"health": true
}
]
}
}
}

View file

@ -0,0 +1,37 @@
# RPF-WP-0035-T04 completed — 2026-09-05
The user explicitly assigned this session to lead activation. The approved
CCR-2026-0015 lane was provisioned through the attended Warden/OpenBao envelope.
The dedicated kubeconfig reached the pinned primary cluster. Warden exited
successfully after each contained operation and its session cleanup.
Initial CAS-zero generation produced version 1. Exact path read, wrong service
account/namespace/audience, sibling and metadata denial, and coding-agent deny
precedence passed. ESO initially failed token lookup-self with 403. Inspection
of deployed ESO v0.16.1 source confirmed token lookup-self and revoke-self calls.
The policy was narrowly amended to permit these self-token operations; no KV
access was broadened. A drift-checked repair passed all custody checks and ESO
became Ready.
State Hub production source commit `49e3182` enabled its reviewed API-only
reference. Deployment used a fresh Forge clone of that exact revision, retained
the running image `main-cdff3b7` and existing release values, and server dry-run
showed only Deployment/state-hub changed. Helm revision 59 deployed successfully.
The single API replica matched the delivered key, returned healthy primary
identity, and produced a valid signed preflight with zero blockers for the
approved flex-auth to access-engine fixture. MCP had no key reference; the
shared environment Secret had no competing signing key.
The API deployment was scaled to zero, every matching pod terminated, and no
HPA was present. The guarded attended writer rotated with CAS 1 to version 2.
ESO refreshed; the API was restored to one replica. Forward recovery passed:
delivered key equality, health, valid new preflight, and predecessor rejection
specifically for invalid signature, not expiry. The protected predecessor
fixture was removed after verification. No repository rename was executed.
Evidence: `docs/evidence/RPF-WP-0035-T04-signing-activation-2026-09-05.json`.
CCR is active and T04 is done; other credential lanes retain their own gates.
Validation: 183 platform unit tests, 15 State Hub signing/rename API tests,
credential request validation and Helm lint passed. Live acceptance receipts
provide the operational evidence beyond these source tests.

View file

@ -98,7 +98,7 @@ The unattended adapter remains a separate demand and gets no operator session.
```task
id: RPF-WP-0035-T04
status: progress
status: done
priority: medium
state_hub_task_id: "35a85846-61d5-54ce-8b18-ede45733d53c"
```
@ -130,3 +130,13 @@ workstation kubeconfig's local port-forward listener was unavailable. Activation
still needs the contained attended OIDC/MFA login and the acceptance evidence
above; source preparation is not live completion. See
`history/2026-09-05-preflight-signing-activation-readiness.md`.
Completed 2026-09-05: user-led attended activation generated version 1 and
rotated to version 2 with every API replica stopped. Exact access and negative
identity checks passed; ESO delivery and API-only exposure passed; the recovered
single API replica accepts new signed preflight and rejects its predecessor by
signature, with healthy primary identity and no preflight blockers. State Hub
chart commit `49e3182`, Helm revision 59. No repository rename executed.
Evidence: `docs/evidence/RPF-WP-0035-T04-signing-activation-2026-09-05.json`;
closure: `history/2026-09-05-preflight-signing-activation-complete.md`.