Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nitor_vault-2.1.1.tar.gz (71.4 kB view details)

Uploaded Source

Built Distributions

nitor_vault-2.1.1-cp39-abi3-win_amd64.whl (5.0 MB view details)

Uploaded CPython 3.9+ Windows x86-64

nitor_vault-2.1.1-cp39-abi3-win32.whl (4.3 MB view details)

Uploaded CPython 3.9+ Windows x86

nitor_vault-2.1.1-cp39-abi3-musllinux_1_2_x86_64.whl (6.5 MB view details)

Uploaded CPython 3.9+ musllinux: musl 1.2+ x86-64

nitor_vault-2.1.1-cp39-abi3-musllinux_1_2_i686.whl (6.3 MB view details)

Uploaded CPython 3.9+ musllinux: musl 1.2+ i686

nitor_vault-2.1.1-cp39-abi3-musllinux_1_2_aarch64.whl (6.6 MB view details)

Uploaded CPython 3.9+ musllinux: musl 1.2+ ARM64

nitor_vault-2.1.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.9+ manylinux: glibc 2.17+ x86-64

nitor_vault-2.1.1-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (5.3 MB view details)

Uploaded CPython 3.9+ manylinux: glibc 2.17+ i686

nitor_vault-2.1.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.1 MB view details)

Uploaded CPython 3.9+ manylinux: glibc 2.17+ ARM64

nitor_vault-2.1.1-cp39-abi3-macosx_11_0_arm64.whl (5.6 MB view details)

Uploaded CPython 3.9+ macOS 11.0+ ARM64

nitor_vault-2.1.1-cp39-abi3-macosx_10_12_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.9+ macOS 10.12+ x86-64

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

Hashes for nitor_vault-2.1.1.tar.gz
Algorithm Hash digest
SHA256 b24862fa2ecd38213df080b6cc7c332656127d9f4c6946056f80baecd8d020f2
MD5 fd88c8bc1a3d101c9aba4a8fc83c6682
BLAKE2b-256 91dc6309cb17d3737354b567156ab44a12eba42a5c575b0ae5fe771e19df9d5f

See more details on using hashes here.

File details

Details for the file nitor_vault-2.1.1-cp39-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for nitor_vault-2.1.1-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 08a55e94a5adcd285ff9bbd2fba93bc53a27982e932535f9931f77c88bcd3db2
MD5 70d9ad67d96204a85938998f4a1f426b
BLAKE2b-256 aedcb8ad21fb37a9be247782ee31a4903e6e8ad1e651fb8b81a031a9f74fb428

See more details on using hashes here.

File details

Details for the file nitor_vault-2.1.1-cp39-abi3-win32.whl.

File metadata

File hashes

Hashes for nitor_vault-2.1.1-cp39-abi3-win32.whl
Algorithm Hash digest
SHA256 82e7cb1eabfeddda66008690301d636ad62b6ed01df9ae1e97952aa08eb3fb43
MD5 e852ad2b7613bfc8ff5790c51cb991ff
BLAKE2b-256 100e9d97204847de0815b8540330f687377a736b24c633528be8cf0d4fcef557

See more details on using hashes here.

File details

Details for the file nitor_vault-2.1.1-cp39-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for nitor_vault-2.1.1-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2e83ae5e7ee473e54d02097ab9b51cb9c797533bd60673aff0172af123704283
MD5 867bcd7ddcaf1b51e2ab40508283734c
BLAKE2b-256 92caef340bb16bab95c7f51b3075b739e48ae59b6616e0c617434fd0492ad8fb

See more details on using hashes here.

File details

Details for the file nitor_vault-2.1.1-cp39-abi3-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for nitor_vault-2.1.1-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 2ecd28d40c249beead9fa3ca8a413075c65687cb4d29ed69cedec784e43d98eb
MD5 cfa738d76918e1e13cc56a4f8eba97fc
BLAKE2b-256 7d265ec2d3461bdd6b8206fd15c587498dc25b6a4cf8c4d368198cb6daa197ee

See more details on using hashes here.

File details

Details for the file nitor_vault-2.1.1-cp39-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for nitor_vault-2.1.1-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 33226fffe50e0137a946267ae8d3aaba8af190e6f95f69365db0a918e778a079
MD5 014863cb11026bc3f30c65e75acb59e2
BLAKE2b-256 042de3eda8f5c0bd0a5eb7dae32637a3e80f4bb97631ec0dd976ccb0a235c2f7

See more details on using hashes here.

File details

Details for the file nitor_vault-2.1.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nitor_vault-2.1.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6f744035818441b3fd7dd98555aac0dcbbb1a822d68c36e581892c23c3c6f806
MD5 4901772ed1657c73d0d7f6eef5e1827e
BLAKE2b-256 11d58b9d87bc2d225328cf1b8ffb040699117443eb2b9103683031b1ceb0d7d8

See more details on using hashes here.

File details

Details for the file nitor_vault-2.1.1-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for nitor_vault-2.1.1-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 5817f60953cc81db4f3e61b5ba33bbcf4e56c5f9e290014d557313b2d8820a87
MD5 4c6e98f5be5d11fe063f6fc80efef0ff
BLAKE2b-256 3e96310d66131806cb097fefc013b228a82d7bed237aca4deaffc26128960104

See more details on using hashes here.

File details

Details for the file nitor_vault-2.1.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for nitor_vault-2.1.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 efd19838bb043d052a8eb14a5ea2c79854461add1c7df6be6699b0a31be5655f
MD5 2466d4b78f9bc2eb3c87bb7a6edd9dc3
BLAKE2b-256 5549d521ab9035d6bbd8182444e3d26d30f7177d57e2bb99397bc1219dcf1ce7

See more details on using hashes here.

File details

Details for the file nitor_vault-2.1.1-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nitor_vault-2.1.1-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 25cfa6a43c608b6f006f4e6024c8fabbafc664d46edbdf03710ab4025fa8c919
MD5 416a4013331fd27dcaec2c8257925ab3
BLAKE2b-256 121347a2977ba1a61f5fce6f4848083c9c06048735fcc047b1c2e14cb59df92c

See more details on using hashes here.

File details

Details for the file nitor_vault-2.1.1-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for nitor_vault-2.1.1-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 14641cc8805335e0d877c5baeca0117485281960e8cba37a3ffbc843ba8dfb4a
MD5 1eecb9302a4155a1679af3207f447d29
BLAKE2b-256 bb4e3601731ef23e09e0a34eb3602873d56196fc54570ff3b68025eb716c1d7d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page