A collection of CLI tools for managing HashiCorp Vault.
Project description
Vault Management Toolkit 🧰
A collection of CLI tools for managing, comparing, migrating, and rolling out HashiCorp Vault clusters, with support for OIDC authentication and Kubernetes rollouts.
Features
- Secure OIDC Authentication for Vault clusters
- Detailed Secret Comparison between Vault instances
- Full RAFT Snapshot Migration with selective overrides
- Kubernetes Rollout Management for Vault clusters
- CLI entry point:
vault-mgmt
Installation
Using pip (recommended)
pip install .
# or for development
pip install -e .
CLI Usage
The toolkit provides a unified CLI:
vault-mgmt [command] [options]
All commands support --help for more options.
Example Workflows
Compare Vaults
vault-mgmt compare --source-vault-addr ... --destination-vault-addr ... --output-file differences.csv
Sync Vaults with Overrides
vault-mgmt sync --source-vault-addr ... --destination-vault-addr ... --override-secrets differences.csv
Kubernetes Rollout
vault-mgmt rollout vault-namespace --vault-addr ... --kube-context ...
Development
- Testing:
pytest
- Linting:
ruff check .
- Tox:
tox
Dependencies
| Package | Version | Description |
|---|---|---|
hvac |
2.3.0 | Python client for HashiCorp Vault API |
kubernetes |
33.1.0 | Python client for Kubernetes API |
requests |
2.32.4 | Elegant HTTP library (dependency of hvac) |
tqdm |
4.67.1 | Progress bar for loops and iterables |
certifi |
2025.6.15 | Mozilla's root certificates for SSL/TLS |
charset-normalizer |
3.4.2 | Character set/encoding detection |
idna |
3.10 | Internationalized Domain Names in Applications |
urllib3 |
2.5.0 | HTTP client for Python (dependency of requests) |
Project Structure
vault_mgmt/— Main package with CLI and submodules:cli.py— CLI entry pointcompare.py— Vault comparison logicsync.py— Vault migration/sync logicrollout.py— Kubernetes rollout logicmanager.py— Shared management utilities
Links
License
GPL-3.0-only. See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vault_mgmt-1.0.0.tar.gz.
File metadata
- Download URL: vault_mgmt-1.0.0.tar.gz
- Upload date:
- Size: 25.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b645ca6011524dc9e190285a73ca7e15723cf71967f4ae5f590aad57e073ee0
|
|
| MD5 |
d9c7443cc0af640852903c148f765b90
|
|
| BLAKE2b-256 |
1c71fac20f15f33c1949a0b111feb2758dfcd21cdae07a8699d0105cf5214777
|
Provenance
The following attestation bundles were made for vault_mgmt-1.0.0.tar.gz:
Publisher:
release.yml on jbouse/vault-mgmt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vault_mgmt-1.0.0.tar.gz -
Subject digest:
0b645ca6011524dc9e190285a73ca7e15723cf71967f4ae5f590aad57e073ee0 - Sigstore transparency entry: 243606919
- Sigstore integration time:
-
Permalink:
jbouse/vault-mgmt@e9de1b6670421dc9486d82d1a15836b46f1710a8 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/jbouse
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@e9de1b6670421dc9486d82d1a15836b46f1710a8 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vault_mgmt-1.0.0-py3-none-any.whl.
File metadata
- Download URL: vault_mgmt-1.0.0-py3-none-any.whl
- Upload date:
- Size: 24.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b3d1e5c4727e514c73c765bc99657ee6847fbb887f9126f15e3bbc7732dea7c3
|
|
| MD5 |
036c85531c810be5e425468af3ed4b28
|
|
| BLAKE2b-256 |
73b0c5188fd5b38280857f7be1f118c5abd504614cde4e4c22fbb99f2c64522b
|
Provenance
The following attestation bundles were made for vault_mgmt-1.0.0-py3-none-any.whl:
Publisher:
release.yml on jbouse/vault-mgmt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vault_mgmt-1.0.0-py3-none-any.whl -
Subject digest:
b3d1e5c4727e514c73c765bc99657ee6847fbb887f9126f15e3bbc7732dea7c3 - Sigstore transparency entry: 243606927
- Sigstore integration time:
-
Permalink:
jbouse/vault-mgmt@e9de1b6670421dc9486d82d1a15836b46f1710a8 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/jbouse
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@e9de1b6670421dc9486d82d1a15836b46f1710a8 -
Trigger Event:
push
-
Statement type: