Vault for storing locally encrypted data in S3 using KMS keys
Project description
nitor-vault
Python vault implementation using the Rust vault library.
See the root readme for more general information.
Usage
Encrypted AWS key-value storage utility
Usage: vault [OPTIONS] [COMMAND]
Commands:
all, -a, --all List available secrets [aliases: a, list, ls]
completion, --completion Generate shell completion
delete, -d, --delete Delete an existing key from the store
describe, --describe Print CloudFormation stack parameters for current configuration
decrypt, -y, --decrypt Directly decrypt given value
encrypt, -e, --encrypt Directly encrypt given value
exists, --exists Check if a key exists
info, --info Print vault information
id, --id Print AWS user account information
status, --status Print vault stack information
init, -i, --init Initialize a new KMS key and S3 bucket
update, -u, --update Update the vault CloudFormation stack
lookup, -l, --lookup Output secret value for given key
store, -s, --store Store a new key-value pair
help Print this message or the help of the given subcommand(s)
Options:
-b, --bucket <BUCKET> Override the bucket name [env: VAULT_BUCKET=]
-k, --key-arn <ARN> Override the KMS key ARN [env: VAULT_KEY=]
-p, --prefix <PREFIX> Optional prefix for key name [env: VAULT_PREFIX=]
-r, --region <REGION> Specify AWS region for the bucket [env: AWS_REGION=]
--vault-stack <NAME> Specify CloudFormation stack name to use [env: VAULT_STACK=]
-q, --quiet Suppress additional output and error messages
-h, --help Print help (see more with '--help')
-V, --version Print version
Install
Build and install command globally using pip. This requires a Rust toolchain to be able to build the Rust library. From repo root:
cd python-pyo3
pip install .
Check the command is found in path. If you ran the install command inside a virtual env, it will only be installed to the venv.
which -a vault
Development
Uses:
- PyO3 for creating a native Python module from Rust code.
- Maturin for building and packaging the Python module from Rust.
Workflow
You can use uv or the traditional Python and pip combo.
First, create a virtual env:
# uv
uv sync --all-extras
# pip
python3 -m venv .venv
source .venv/bin/activate
pip install '.[dev]'
After making changes to Rust code, build and install module:
# uv
uv run maturin develop
# venv
maturin develop
Run Python CLI:
# uv
uv run python/p_vault/vault.py -h
# venv
python3 python/p_vault/vault.py -h
Install and run vault inside virtual env:
# uv
uv pip install .
uv run vault -h
# venv
pip install .
vault -h
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 Distributions
File details
Details for the file nitor_vault-2.1.1.tar.gz
.
File metadata
- Download URL: nitor_vault-2.1.1.tar.gz
- Upload date:
- Size: 71.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b24862fa2ecd38213df080b6cc7c332656127d9f4c6946056f80baecd8d020f2 |
|
MD5 | fd88c8bc1a3d101c9aba4a8fc83c6682 |
|
BLAKE2b-256 | 91dc6309cb17d3737354b567156ab44a12eba42a5c575b0ae5fe771e19df9d5f |
File details
Details for the file nitor_vault-2.1.1-cp39-abi3-win_amd64.whl
.
File metadata
- Download URL: nitor_vault-2.1.1-cp39-abi3-win_amd64.whl
- Upload date:
- Size: 5.0 MB
- Tags: CPython 3.9+, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08a55e94a5adcd285ff9bbd2fba93bc53a27982e932535f9931f77c88bcd3db2 |
|
MD5 | 70d9ad67d96204a85938998f4a1f426b |
|
BLAKE2b-256 | aedcb8ad21fb37a9be247782ee31a4903e6e8ad1e651fb8b81a031a9f74fb428 |
File details
Details for the file nitor_vault-2.1.1-cp39-abi3-win32.whl
.
File metadata
- Download URL: nitor_vault-2.1.1-cp39-abi3-win32.whl
- Upload date:
- Size: 4.3 MB
- Tags: CPython 3.9+, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82e7cb1eabfeddda66008690301d636ad62b6ed01df9ae1e97952aa08eb3fb43 |
|
MD5 | e852ad2b7613bfc8ff5790c51cb991ff |
|
BLAKE2b-256 | 100e9d97204847de0815b8540330f687377a736b24c633528be8cf0d4fcef557 |
File details
Details for the file nitor_vault-2.1.1-cp39-abi3-musllinux_1_2_x86_64.whl
.
File metadata
- Download URL: nitor_vault-2.1.1-cp39-abi3-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 6.5 MB
- Tags: CPython 3.9+, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e83ae5e7ee473e54d02097ab9b51cb9c797533bd60673aff0172af123704283 |
|
MD5 | 867bcd7ddcaf1b51e2ab40508283734c |
|
BLAKE2b-256 | 92caef340bb16bab95c7f51b3075b739e48ae59b6616e0c617434fd0492ad8fb |
File details
Details for the file nitor_vault-2.1.1-cp39-abi3-musllinux_1_2_i686.whl
.
File metadata
- Download URL: nitor_vault-2.1.1-cp39-abi3-musllinux_1_2_i686.whl
- Upload date:
- Size: 6.3 MB
- Tags: CPython 3.9+, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ecd28d40c249beead9fa3ca8a413075c65687cb4d29ed69cedec784e43d98eb |
|
MD5 | cfa738d76918e1e13cc56a4f8eba97fc |
|
BLAKE2b-256 | 7d265ec2d3461bdd6b8206fd15c587498dc25b6a4cf8c4d368198cb6daa197ee |
File details
Details for the file nitor_vault-2.1.1-cp39-abi3-musllinux_1_2_aarch64.whl
.
File metadata
- Download URL: nitor_vault-2.1.1-cp39-abi3-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 6.6 MB
- Tags: CPython 3.9+, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33226fffe50e0137a946267ae8d3aaba8af190e6f95f69365db0a918e778a079 |
|
MD5 | 014863cb11026bc3f30c65e75acb59e2 |
|
BLAKE2b-256 | 042de3eda8f5c0bd0a5eb7dae32637a3e80f4bb97631ec0dd976ccb0a235c2f7 |
File details
Details for the file nitor_vault-2.1.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: nitor_vault-2.1.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 5.3 MB
- Tags: CPython 3.9+, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f744035818441b3fd7dd98555aac0dcbbb1a822d68c36e581892c23c3c6f806 |
|
MD5 | 4901772ed1657c73d0d7f6eef5e1827e |
|
BLAKE2b-256 | 11d58b9d87bc2d225328cf1b8ffb040699117443eb2b9103683031b1ceb0d7d8 |
File details
Details for the file nitor_vault-2.1.1-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
.
File metadata
- Download URL: nitor_vault-2.1.1-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 5.3 MB
- Tags: CPython 3.9+, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5817f60953cc81db4f3e61b5ba33bbcf4e56c5f9e290014d557313b2d8820a87 |
|
MD5 | 4c6e98f5be5d11fe063f6fc80efef0ff |
|
BLAKE2b-256 | 3e96310d66131806cb097fefc013b228a82d7bed237aca4deaffc26128960104 |
File details
Details for the file nitor_vault-2.1.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
.
File metadata
- Download URL: nitor_vault-2.1.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 5.1 MB
- Tags: CPython 3.9+, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | efd19838bb043d052a8eb14a5ea2c79854461add1c7df6be6699b0a31be5655f |
|
MD5 | 2466d4b78f9bc2eb3c87bb7a6edd9dc3 |
|
BLAKE2b-256 | 5549d521ab9035d6bbd8182444e3d26d30f7177d57e2bb99397bc1219dcf1ce7 |
File details
Details for the file nitor_vault-2.1.1-cp39-abi3-macosx_11_0_arm64.whl
.
File metadata
- Download URL: nitor_vault-2.1.1-cp39-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 5.6 MB
- Tags: CPython 3.9+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25cfa6a43c608b6f006f4e6024c8fabbafc664d46edbdf03710ab4025fa8c919 |
|
MD5 | 416a4013331fd27dcaec2c8257925ab3 |
|
BLAKE2b-256 | 121347a2977ba1a61f5fce6f4848083c9c06048735fcc047b1c2e14cb59df92c |
File details
Details for the file nitor_vault-2.1.1-cp39-abi3-macosx_10_12_x86_64.whl
.
File metadata
- Download URL: nitor_vault-2.1.1-cp39-abi3-macosx_10_12_x86_64.whl
- Upload date:
- Size: 5.8 MB
- Tags: CPython 3.9+, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14641cc8805335e0d877c5baeca0117485281960e8cba37a3ffbc843ba8dfb4a |
|
MD5 | 1eecb9302a4155a1679af3207f447d29 |
|
BLAKE2b-256 | bb4e3601731ef23e09e0a34eb3602873d56196fc54570ff3b68025eb716c1d7d |