Skip to content

feat: vault cert-proof sessions and deploy CLI gRPC cert init - #147

Merged
BRAVO68WEB merged 3 commits into
mainfrom
feat/release-0.23.0-certs
Sep 26, 2026
Merged

BRAVO68WEB merged 3 commits into
mainfrom
feat/release-0.23.0-certs

Conversation

@BRAVO68WEB

Copy link
Copy Markdown
Contributor

Why

Tag v0.23.0 (b3164e4f) pinned miniKMS sha-60e2feb, which dropped serial-only ManagedAuth. Release E2E (run 36268240078) failed 86 tests with:

INVALID_ARGUMENT: cert_auth is required

The tag-release Action was cancelled. This recut folds PR #145 into 0.23.0 so the API, compose, and deploy CLI match the pinned sidecar.

What

  • Vault sessions: IssueSessionChallenge + ECDSA-signed nonce via CreateSession cert_auth
  • Deploy CLI: writeMinikmsGrpcTlsIfMissing() generates P-256 control-plane CA/server/client PEMs under /opt/envsync/deploy/ on init/upgrade when any file is missing
  • Local/prod compose: miniKMS mTLS on; e2e-setup writes absolute client cert paths so API tests from packages/envsync-api can load them
  • bootstrap-env no longer forces MINIKMS_TLS_ENABLED=false over .env.e2e.test

After merge

  1. Delete remote v0.23.0
  2. Retag v0.23.0 on the new main HEAD
  3. Close feat(api): vault sessions require member-key proof #145 as superseded

getVaultSessionToken unwraps the system member key, signs a
server nonce, and calls CreateSessionByCert. Serial-only
CreateSessionManaged is no longer used. Missing durable member
keys fail closed with MEMBER_KEY_UNAVAILABLE.
Enable control-plane TLS with a dedicated gRPC CA. Compose and Swarm
mount server and API client certs; the API presents the client cert.
Vault sessions already use cert proof; serial-only mint is gone on
the miniKMS side.
…S gRPC certs

sha-60e2feb dropped ManagedAuth, so CreateSession now requires cert_auth.
Mint sessions via IssueSessionChallenge + member-key signature, enable
control-plane mTLS, and have the deploy CLI write missing gRPC PEMs on
init/upgrade.
@BRAVO68WEB
BRAVO68WEB merged commit 7e8ae63 into main Sep 26, 2026
15 checks passed
@BRAVO68WEB
BRAVO68WEB deleted the feat/release-0.23.0-certs branch September 26, 2026 20:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant