Add named engine auth and accessor-file session revoke
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s

Select service-jwt, bootstrap, or env exclusively: JWT login uses a JSON
file, self-revokes, and never falls back to bootstrap or BAO_TOKEN. The
platform JWT mount/role is still unpublished, so auto keeps named
bootstrap/env providers.

session revoke --accessor-file revokes an already-issued token with
fingerprint-only evidence. Production remains fail-closed.

Assistant: grok
Assistant-Session: 01a05f07-ae72-7781-9fcb-19efd61add00
This commit is contained in:
tegwick 2026-09-02 01:24:08 +02:00
parent a94003de4f
commit 3abee434df
18 changed files with 698 additions and 135 deletions

View file

@ -34,11 +34,15 @@ contents in this repo.
- Implemented consumer scaffold: exact KeyCape client-credentials exchange,
claim/lifetime preflight, strict client-secret file input, renewal boundary,
and no implicit fallback.
- Implemented named providers (`service-jwt`, `bootstrap`, `env`) with no
JWT→bootstrap/env fallback. JWT login uses a JSON file, never argv, and
self-revokes the issued OpenBao token.
- Remaining: railiance-platform stands up the exact-bound OpenBao JWT auth
mount/role and publishes its non-secret connection contract.
- secrets-engine logs in via that method instead of reading a token file.
- Remove `--bootstrap-token-file` from the steady-state path (keep only for true
break-glass, heavily audited).
mount/role and publishes its non-secret connection contract
(`SECRETS_ENGINE_OPENBAO_JWT_LOGIN`). Until then `--auth service-jwt`
fail-closes and `--auth auto` keeps named bootstrap/env providers.
- `--bootstrap-token-file` is a named break-glass provider with distinct
evidence, not an implicit fallback.
## H2 — Response-wrapped handoff
@ -67,9 +71,10 @@ contents in this repo.
## H4a — Known-accessor operator command
- Delivery sessions already self-revoke in `finally` (`SECRETS-WP-0007-T05`).
- Residual from T03: no general CLI to revoke an already-issued token or
lease by a non-secret accessor the operator already holds.
- Do not print accessors. Prefer fingerprint-only evidence.
- Implemented: `secrets-engine session revoke --accessor-file F` reads a
mode-0600 out-of-repo accessor, calls `token revoke -accessor`, and records
only a fingerprint. Production remains fail-closed. Lease-id revoke is still
outstanding.
## H5 — Audit report command