Related
Summary
The daemon today hardcodes a fixed set of secret backends (memory, keychain, plus env as a configure/reference path). The core SecretStore interface is injectable for library/CoreState consumers, but the running daemon and the public secret_store vocabulary are not pluggable.
Operators and embedders may want additional backends (e.g. HashiCorp Vault, cloud KMS/Secrets Manager, org-specific secret services) without forking Abbenay.
Desired outcome
- A documented extension point for registering additional secret-store backends
- Daemon configuration (and/or plugin discovery) that can select a backend by name
- Existing
memory / keychain / env behavior preserved as built-ins
- Auth, audit (
[Audit] secret changed), and list/presence-only HTTP semantics unchanged
Non-goals (for this issue)
Acceptance criteria
Related
secret_name/secret_store, DR-047)Summary
The daemon today hardcodes a fixed set of secret backends (
memory,keychain, plusenvas a configure/reference path). The coreSecretStoreinterface is injectable for library/CoreStateconsumers, but the running daemon and the publicsecret_storevocabulary are not pluggable.Operators and embedders may want additional backends (e.g. HashiCorp Vault, cloud KMS/Secrets Manager, org-specific secret services) without forking Abbenay.
Desired outcome
memory/keychain/envbehavior preserved as built-ins[Audit] secret changed), and list/presence-only HTTP semantics unchangedNon-goals (for this issue)
Acceptance criteria
secret_store: <custom-id>to a registered implementation