Environment Variables
| Variable | Required | Notes |
|---|---|---|
SECRETS_MANAGER_TYPE | Yes | Set to hashicorp_vault. |
SECRETS_MANAGER_VAULT_ADDRESS | Yes | Vault address, for example https://vault.example.com. |
SECRETS_MANAGER_VAULT_TOKEN | Conditionally required | Use token auth, or use AppRole instead. |
SECRETS_MANAGER_VAULT_ROLE_ID | Conditionally required | Required with SECRETS_MANAGER_VAULT_SECRET_ID for AppRole auth. |
SECRETS_MANAGER_VAULT_SECRET_ID | Conditionally required | Required with SECRETS_MANAGER_VAULT_ROLE_ID for AppRole auth. |
SECRETS_MANAGER_VAULT_NAMESPACE | Optional | Vault Enterprise namespace. |
SECRETS_MANAGER_VAULT_MOUNT_PATH | Optional | KV v2 mount path. Defaults to secret. |
- If
SECRETS_MANAGER_VAULT_TOKENis set, token auth is used. - Otherwise,
ROLE_ID+SECRET_IDare required for AppRole login.
Create Vault Resources and Credentials
- Ensure a KV v2 engine exists (example mount
secret):
- Create a policy for
wonderful-secrets(examplewonderful-secrets-policy):
- Choose auth mode:
- Token mode:
- AppRole mode:
- Collect values:
- Vault address from
VAULT_ADDRor your Vault endpoint. - Mount path (
secretin the example above). - Token or AppRole credentials.
- Namespace if running Vault Enterprise.
- Vault address from
Map Credentials to Env Vars
| Vault value | Env var |
|---|---|
| Vault address | SECRETS_MANAGER_VAULT_ADDRESS |
| Token | SECRETS_MANAGER_VAULT_TOKEN |
| AppRole Role ID | SECRETS_MANAGER_VAULT_ROLE_ID |
| AppRole Secret ID | SECRETS_MANAGER_VAULT_SECRET_ID |
| Namespace | SECRETS_MANAGER_VAULT_NAMESPACE |
| KV v2 mount path | SECRETS_MANAGER_VAULT_MOUNT_PATH |
Local Switch Example
wonderful-secrets after changing these values.
What to Verify
- Ensure the mount path is KV v2.
- Run the smoke test from Secret Managers.
- Confirm secrets are written under the configured KV v2 mount.