Skip to main content

Prefect HashiCorp Vault blocks.

Project description

prefect-vault

Welcome!

Prefect blocks for HashiCorp Vault.

Getting Started

Python setup

Requires an installation of Python 3.9+.

We recommend using a Python virtual environment manager such as pipenv, conda or virtualenv.

These tasks are designed to work with Prefect 2.0. For more information about how to use Prefect, please refer to the Prefect documentation.

Installation

Install prefect-vault with pip:

pip install prefect-vault

Create VaultSecret block with token authentication

from prefect_vault import VaultSecret, VaultToken

vault_secret = VaultSecret(
    vault_auth=VaultToken(
        vault_url='http://myvault:8200',
        token='my_secret_token',
    ),
)

await vault_secret.save('my-vault-secret')

Create VaultSecret block with approle authentication

from prefect_vault import VaultAppRole, VaultSecret 

vault_secret = VaultSecret(
    vault_auth=VaultAppRole(
        vault_url='http://myvault:8200',
        role_id='my_role_id',
        secret_id='my_secret_id',
    ),
)

await vault_secret.save('my-vault-secret')

Use VaultSecret in Prefect flow

from prefect import flow
from prefect_vault import VaultSecret


@flow
async def use_vault_secret():
    vault_secret = await VaultSecret.load('my-vault-secret')
    secret_value = vault_secret.get_secret('path/to/my/secret')['secret_key']

Resources

If you encounter any bugs while using prefect-vault, feel free to open an issue in the prefect-vault repository.

If you have any questions or issues while using prefect-vault, you can find help in either the Prefect Discourse forum or the Prefect Slack community.

Development

If you'd like to install a version of prefect-vault for development, clone the repository and perform an editable install with pip:

git clone https://github.com/pbchekin/prefect-vault.git

cd prefect-vault/

pip install -e ".[dev]"

# Install linting pre-commit hooks
pre-commit install

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

prefect_vault-0.2.0.tar.gz (26.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

prefect_vault-0.2.0-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file prefect_vault-0.2.0.tar.gz.

File metadata

  • Download URL: prefect_vault-0.2.0.tar.gz
  • Upload date:
  • Size: 26.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for prefect_vault-0.2.0.tar.gz
Algorithm Hash digest
SHA256 bef50a49654b0c54eaa0130a39c04baa24b3a46a78c443714022b024c7e48d5b
MD5 786c6475e0b05d56e2671bbe45c284e4
BLAKE2b-256 c09098bfa2ae9819fb141c6ce3b55bfea088caaeb80bdf989ce26b9490b937a3

See more details on using hashes here.

File details

Details for the file prefect_vault-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: prefect_vault-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 8.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for prefect_vault-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 00b771ece4033d9deee5175561c5e38fab87cca0da6106a66ff97c1361a43992
MD5 80fc488d358faa06a015d958c1cef9b3
BLAKE2b-256 50495429203fe394fa4f9caf201b46cd7140e80bc69874fe89b3ec94a09cc453

See more details on using hashes here.

Supported by

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