Close issuer pin prerequisite and prepare named custody review decisions
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-5.6-luna
Assistant-Session: 01a07ff8-19d0-7820-b4d0-1353833cb7fc
This commit is contained in:
codex 2026-09-09 00:40:23 +02:00
parent e06d7fc390
commit 52b24eab9a
6 changed files with 166 additions and 5 deletions

View file

@ -0,0 +1,42 @@
# KeyCape approval-client custody: review packet
Prepared 2026-09-09 by the-custodian. Both requests are **proposed**; no named
approval or custody mutation has been recorded. This is the review gate for
RPF-WP-0035-T05, consumed by HFACT-WP-0001-T03.
| Request | Secret path and field | Client authority | Pending decision |
| --- | --- | --- | --- |
| [CCR-2026-0017](../../credential-change-requests/CCR-2026-0017-keycape-secrets-engine-approval-client.yaml) | `platform/workloads/secrets-engine/approval-client`, `CLIENT_SECRET` | `approval:read`, `approval:consume` | `b533a271-b704-4c5c-98a2-9a5951aadfb6` |
| [CCR-2026-0018](../../credential-change-requests/CCR-2026-0018-keycape-approval-engine-operator-client.yaml) | `platform/workloads/approval-engine/operator-client`, `CLIENT_SECRET` | create/read/approve/revoke/supersede/observe/emit; no consume | `efa90517-0cae-4eb6-a68d-5b0489c84d65` |
Both require **platform-operator and key-cape-owner** review. Each has its own
exact-path policy, Kubernetes auth role and ClusterSecretStore, bound to
`external-secrets/external-secrets`, limited to `sso`. ESO owns the resulting
Secret; authentication tokens have a 15-minute TTL. Client secrets require
explicit rotation or registration disablement; token expiry does not revoke them.
The approved object would authorize verifier-side custody only. Client-side
retrieval, audit sender/receiver custody, operator `approval:consume`, adoption
of the Qonto Secret and factory spending remain outside these two requests.
Technical review completed: both CCRs validate, their generated policies match
the two source HCL files, and the delivery manifests map exactly to the declared
paths and fields. The signed upstream issuer is verified; NetKingdom's exact live
pin is independently read back at Secret revision `58713343`. The compatible
KeyCape image and rollout patch are prepared. These checks are evidence for the
review, not substitutes for either named approval.
Execution still follows the [owner rollout sequence](keycape-approval-clients.md)
through the founder-attended Warden/OpenBao envelope: policy/roles, CAS=0 initial
custody, Valid stores, SecretSynced delivery, compatible config/image replacement,
then positive and negative acceptance and metadata-only receipts. The generated
plan leaves initial secret provisioning to the contained owner procedure; it is
not an already exercised end-to-end activation command. Finish and exercise that
procedure before opening the activation window. Current proposed requests refuse
`apply-plan`; no status has been changed to get around that refusal.
Review outcome: approve, deny or needs changes, naming the reviewer and the role
they are accepting. Both required role confirmations must be recorded for each
CCR before execution. A generic CLI status change alone is insufficient evidence
that both reviews occurred. No owner messages or browser login were triggered
by preparation of this packet.

View file

@ -117,9 +117,11 @@ Prerequisites before the window opens:
The admitted probe passed signature/audience/time/nonce verification on
2026-09-08 at 21:44:44 UTC, exited 0 and removed every temporary resource.
[Receipt](../evidence/2026-09-08-keycape-upstream-issuer-proof.json).
The configuration owner must still ensure `authelia.issuer` is pinned to
that exact value before this window. The probe left normal configuration
unchanged. Keep the existing-human-login regression in the rollout checks.
NetKingdom completed the exact `authelia.issuer` pin on 2026-09-09,
with unchanged signing key and unrelated configuration; Secret revision
`58713343`. [Pin receipt](../evidence/2026-09-09-keycape-upstream-issuer-pin.json).
This prerequisite is closed. Keep the existing-human-login regression in
the separately admitted image/configuration rollout checks.
In-window order:
@ -178,3 +180,8 @@ Use an absolute path to the owner command if invoking from another directory.
It emits no output or values; inspect its allowlisted capability metadata only
after Warden has completed revocation and cleanup. No custody activation or
approval is performed by this preflight.
2026-09-09: the live issuer pin is complete. The next review is captured in
[keycape-approval-clients-review.md](keycape-approval-clients-review.md), with
one pending Hub decision per existing CCR and both required reviewer roles.