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
967 B
OpenBao JWT login contract (engine consumer)
Steady-state engine authentication is the reviewed KeyCape
secrets-engine-openbao identity plus a platform-owned OpenBao JWT auth
mount and exact-bound role. This repository does not invent that mount.
Point SECRETS_ENGINE_OPENBAO_JWT_LOGIN at a mode-normal YAML file outside
the need to hold a standing OpenBao token:
mount: jwt
role: secrets-engine
bound_issuer: https://<keycape-issuer>
bound_issuer must equal SECRETS_ENGINE_KEYCAPE_ISSUER. The JWT is sent
through a temporary JSON file, never argv. The resulting OpenBao token is
revoked at the end of the command (token revoke -self). Evidence records
the provider name and an accessor fingerprint only.
Until railiance-platform publishes that file, --auth auto keeps the named
bootstrap-file and BAO_TOKEN providers. --auth service-jwt fail-closes.
A service-jwt selection never reads --bootstrap-token-file or BAO_TOKEN.