Salt Extension for Vault

raw JSON →
1.5.0 verified Sat May 09 auth: no python

Salt Extension for interacting with HashiCorp Vault or OpenBao. Provides execution modules, state modules, pillars, and renderers for managing secrets, policies, tokens, and more. Current version: 1.5.0. Release cadence: irregular, roughly quarterly.

pip install saltext-vault
error ImportError: No module named 'vault'
cause Attempting to import 'vault' directly instead of the saltext.vault package.
fix
Install saltext-vault and use from saltext.vault.modules import vault_exec.
error ModuleNotFoundError: No module named 'saltext'
cause The saltext-vault package is not installed.
fix
Run pip install saltext-vault.
breaking Python 3.7 support was dropped in v1.1.0. Requires Python >=3.10 as of v1.5.0.
fix Upgrade Python to 3.10 or later.
gotcha The import path is `saltext.vault.modules` not `vault`. Do not `import vault` or `from vault import ...`.
fix Use `from saltext.vault.modules import ...` or load via Salt's loader.
deprecated Some older configuration keys for Vault connection have been deprecated in favor of the `vault` pillar configuration.
fix Follow the official docs for the current configuration schema.

Verify that saltext-vault modules can be loaded via Salt's loader.

import salt.config
import salt.loader

# Minimal test: Load the vault execution module
opts = salt.config.minion_config('/etc/salt/minion')
opts['extension_modules'] = '/srv/salt/ext'  # adjust as needed
utils = salt.loader.utils(opts)
modules = salt.loader.minion_mods(opts, utils=utils)
# Assuming a vault connection is configured, call vault.list_secrets
# Replace with actual call if needed
print('saltext-vault modules loaded successfully')