docs: add Vault SecretProvider requirements spec (Use Case A) - #168
Open
Alan-Cha wants to merge 1 commit into
Open
docs: add Vault SecretProvider requirements spec (Use Case A)#168Alan-Cha wants to merge 1 commit into
Alan-Cha wants to merge 1 commit into
Conversation
Requirements/design spec for config-time secret resolution via Vault KV v2, per the scope agreed in #144's closing comment. Covers the SecretProvider trait/registry, reference grammar, auth (Kubernetes/ AppRole), fail-fast startup with soft-fail refresh, and the secrets-vault feature gate; JWT decoding keys are the first consumer. Runtime delegation (Use Case B), dynamic secrets, KV v1, and codegen are out of scope. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Signed-off-by: Alan Cha <Alan.cha1@ibm.com>
Alan-Cha
force-pushed
the
docs/vault-secret-provider-requirements
branch
from
August 18, 2026 02:20
27cdb20 to
18ef8b8
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds the requirements/design spec for config-time Vault secret resolution (Use Case A), per the scope agreed in #144's closing comment.
SecretProvidertrait +kind()-based factory/registry, withVaultProvideras the sole implementation shipped herereqwestclient (no SDK, no codegen)DecodingKeySource::Provider) as the first and only consumersecrets-vaultfeature, out ofdefault, infullRuntime/per-request delegation (Use Case B), dynamic secrets, KV v1, writes, and codegen are explicitly out of scope — carried forward from #144's spike.
Follows the same structure/conventions as
docs/brainstorms/valkey-session-store-requirements.md(Problem Frame → Actors → Key Flows → Requirements → Acceptance Examples → Success Criteria → Scope Boundaries → Key Decisions → Dependencies/Assumptions → Outstanding Questions). Two citation corrections were made during review before this PR: R13'sJwksUrlsoft-boot citation was pointing at the wrong file (resolver.rs, notconfig.rs), and R17's "mirrors valkey exactly" claim on thecpex-plugin-<name>naming convention was corrected — valkey's actual optional dependency iscpex-session-valkey, which doesn't itself follow that convention.Six items remain deferred to planning, enumerated under Outstanding Questions — the provider-construction-ordering seam (R4) is the one that blocks everything else.
Closes #144.
Test plan
🤖 Generated with Claude Code