{"id":28161,"library":"saltext-vault","title":"Salt Extension for Vault","description":"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.","status":"active","version":"1.5.0","language":"python","source_language":"en","source_url":"https://github.com/salt-extensions/saltext-vault","tags":["salt","vault","openbao","secrets","extension"],"install":[{"cmd":"pip install saltext-vault","lang":"bash","label":"install from PyPI"}],"dependencies":[{"reason":"Required runtime dependency: this is a Salt extension.","package":"salt","optional":false}],"imports":[{"note":"vault_exec is not a top-level module; it must be imported from saltext.vault.modules.","wrong":"import vault_exec","symbol":"vault_exec","correct":"from saltext.vault.modules import vault_exec"},{"note":"The correct package is saltext.vault, not vault.","wrong":"from vault import vault_state","symbol":"vault_state","correct":"from saltext.vault.states import vault_state"}],"quickstart":{"code":"import salt.config\nimport salt.loader\n\n# Minimal test: Load the vault execution module\nopts = salt.config.minion_config('/etc/salt/minion')\nopts['extension_modules'] = '/srv/salt/ext'  # adjust as needed\nutils = salt.loader.utils(opts)\nmodules = salt.loader.minion_mods(opts, utils=utils)\n# Assuming a vault connection is configured, call vault.list_secrets\n# Replace with actual call if needed\nprint('saltext-vault modules loaded successfully')\n","lang":"python","description":"Verify that saltext-vault modules can be loaded via Salt's loader."},"warnings":[{"fix":"Upgrade Python to 3.10 or later.","message":"Python 3.7 support was dropped in v1.1.0. Requires Python >=3.10 as of v1.5.0.","severity":"breaking","affected_versions":">=1.1.0"},{"fix":"Use `from saltext.vault.modules import ...` or load via Salt's loader.","message":"The import path is `saltext.vault.modules` not `vault`. Do not `import vault` or `from vault import ...`.","severity":"gotcha","affected_versions":"all"},{"fix":"Follow the official docs for the current configuration schema.","message":"Some older configuration keys for Vault connection have been deprecated in favor of the `vault` pillar configuration.","severity":"deprecated","affected_versions":"<1.4.0"}],"env_vars":null,"last_verified":"2026-05-09T00:00:00.000Z","next_check":"2026-08-07T00:00:00.000Z","problems":[{"fix":"Install saltext-vault and use `from saltext.vault.modules import vault_exec`.","cause":"Attempting to import 'vault' directly instead of the saltext.vault package.","error":"ImportError: No module named 'vault'"},{"fix":"Run `pip install saltext-vault`.","cause":"The saltext-vault package is not installed.","error":"ModuleNotFoundError: No module named 'saltext'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}