The HashiCorp Vault Store allows secure retrieval of secrets from a Vault instance, supporting both token-based and Kubernetes authentication. This store is ideal for organizations already using Vault to manage sensitive credentials such as private keys, OAuth secrets, or database passwords. Configuration supports flexible path structuring and secure access control.
HashiCorp Vault Secret Store-specific Parameters
The following parameters are required to configure the HashiCorp Vault Secret Store:
| Parameter | Value | Description |
|---|---|---|
| details.skipVerify | true |
Indicates whether to prefix the Secret Store URL with https:// or http://. |
| details.url | The Secret store URL. | |
| details.timeout | 3s |
The timeout value for connecting to the Secret store. |
| details.enginePath | secret |
Specifies the root folder in the HashiCorp Vault Engine from which the Secret Management Service should access Secrets. Note: When configuring Vault information in the Scope in the Scope Details in the Environment Settings for JWT signing, do not include the enginePath in the Path to Key parameter. |
| details.pathPrefix | environments/production |
The prefix for all paths when accessing Secrets in this store. |
| auth | Authentication details for accessing the Secret store. Add relevant Attributes based on the auth.method (Kubernetes or Token). |
|
| auth.method | Kubernetes |
The authentication method used for accessing the Secret store. Available methods: - Kubernetes- Token |
| auth.path | used for Kubernetes |
File path for the Kubernetes authorization value. |
| auth.role | used for Kubernetes |
Vault authorization role name. |
| auth.tokenValue | used for token |
The token value used for authentication when accessing the Secret store. |
| auth.tokenFilePath | used for token |
File path holding the token. |
Example
The following example is based on the general store and store-specific parameters.
secretStore:
- id: hashicorp-vault
type: Vault
isDefault: true
decoder: Base64
details:
url: https://vault.example.com
defaultPath: secret/data/
enginePath: kv
pathPrefix: myapp/
timeout: 5s
skipVerify: false
auth:
method: Token
tokenValue: s.1234567890abcdef
# tokenFileName: ${VAULT_TOKEN} # Optional: path to file containing the token
#
# auth:
# method: Kubernetes
# path: /var/run/secrets/kubernetes.io/serviceaccount/token
# role: secrets-role