Enable the kv-v2 secrets engine
Enable the kv-v2 secrets engine
Itential supports only kv-v2. kv-v1 is not supported.
You must enable and configure the Hashicorp Vault secrets engine before it can manage and share secrets securely.
About the kv-v2 secrets engine
Key-value version 2 (kv-v2) is a secrets engine that stores arbitrary secrets as key-value pairs with built-in versioning capabilities.
Why use kv-v2
Version control
- Maintains complete history of secret changes
- Allows you to retrieve or restore previous versions
- Prevents accidental data loss from overwrites
Enhanced safety
- Soft deletes allow secret recovery within a retention period
- Check-and-Set operations prevent concurrent update conflicts
- Configurable retention policies control how many versions to keep
Audit capabilities
- Tracks creation time, modification time, and version numbers
- Provides complete audit trail of secret changes
- Enables compliance with security policies
Kv-v2 is HashiCorp’s recommended version for production use. It supersedes KV-V1, which lacks versioning and soft delete capabilities.
How versioning works
Each time you update a secret, kv-v2 creates a new version while preserving previous versions:
API path structure
Kv-v2 uses a specific API path format that includes /data/:
This /data/ segment distinguishes secret data from metadata and configuration endpoints. You’ll see this reflected in the Itential Platform configuration.
Enable kv-v2 secrets engine
Enable the engine
Run the following command to enable the KV secrets engine. Version 2 is recommended for Vault.
Update properties file
Navigate to /opt/pronghorn/current and edit the properties.json file with the location of the token.txt file. See Configure Vault properties for details.
Configure Vault properties
To use Vault, add a vaultProps section to your properties.json file.
Configuration parameters
Token-based authentication
Example configuration for token-based authentication:
The endpoint value kv-v2/data includes the /data path segment required by kv-v2 to access secret data. This distinguishes it from metadata or configuration endpoints.
An unspecified authMethod defaults to token-based authentication, maintaining compatibility with previous Itential Platform configurations.
AppRole authentication
Example configuration for AppRole authentication:
Setup of AppRole authentication and generation of role_id and secret_id must be done separately, including setting valid policies and TTL/usage limits.
File path structure
The endpoint path can be customized. Here’s an example URL structure where v1 is a hard-coded file path in Itential Platform:
URL components:
http://localhost:8200- Vault server address/v1- Vault API version/kv-v2- Secrets engine mount point/data- kv-v2 data endpoint (required for accessing secret values)
Configure readOnly property
The readOnly property in vaultProps controls how secret data is written to Vault. This property defaults to false.
When set to true:
- UI masking is disabled
- Clear text is shown
- Custom user decorations are ignored
- Itential Platform will not write data to Vault
If you change readOnly from false to true after storing passwords in Vault, all passwords will be lost and must be set manually.
Verify configuration
After enabling kv-v2 and configuring Vault properties:
Check Platform logs
Review Platform logs to confirm successful Vault connection:
Look for messages indicating successful Vault authentication.
Test secret storage
Create a test secret in Vault and verify Platform can retrieve it. See Create secrets for details.