Skip to main content

Package for integrating Hashicorp Vault with Dagster.

Project description

dagster-hashicorp logo

build codecov

dagster-hashicorp

A package for integrating Hashicorp Vault with Dagster.

Requirements

  • Dagster 0.14+

Installation

Use your favorite Python package manager to install the app from PyPI, e.g.

pip install dagster-hashicorp

Usage Notes

Vault

Auth method

  • Token
  • User / Password
  • Approle
  • Kubernetes

Example

from dagster import build_op_context, job, op
from dagster_hashicorp.vault import vault_resource


@op(required_resource_keys={"vault"})
def example_vault_op(context):
    # Read
    secret_data = context.resources.vault.read_secret(
        secret_path="secret/data/foo/bar"
    )
    context.log.debug(f"Secret: {secret_data}")

    # Write
    context.resources.vault.create_or_update_secret(
        secret_path="secret/data/foo/bar", {"bar": "foo"}
    )


@job(resource_defs={"vault": vault_resource})
def example_job():
    example_vault_op()


example_job.execute_in_process(
    run_config={
        "resources": {
            "vault": {
                "config": {
                    "url": "vault-host:8200",
                    "auth_type": {"token": {"token": "s.your-token"}},
                }
            }
        }
    }
)

# OR use environment variables

example_job.execute_in_process(
    run_config={
        "resources": {
            "vault": {
                "config": {
                    "url": "vault-host:8200",
                    "auth_type": {"token": {"token": {"env": "VAULT_TOKEN"}}},
                    # or
                    # "auth_type": {"userpass": {"username": {"env": "VAULT_USER"}, "password": {"env": "VAULT_PASS"}}},
                    # or
                    # "auth_type": {"approle": {"role_id": {"env": "VAULT_ROLE_ID"}, "secret_id": {"env": "VAULT_SECRET_ID"}}},
                    # or
                    # "auth_type": {"kubernetes": {"role": {"env": "VAULT_ROLE"}, "jwt_path": {"env": "VAULT_JWT_PATH"}}},
                }
            }
        }
    }
)

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

dagster-hashicorp-0.1.1.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

dagster_hashicorp-0.1.1-py2.py3-none-any.whl (7.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file dagster-hashicorp-0.1.1.tar.gz.

File metadata

  • Download URL: dagster-hashicorp-0.1.1.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for dagster-hashicorp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 0fb1d67ee7b1b08f51f1f8866ed29b28d3fb64b68a9916756d6cac452fb8c864
MD5 4390c12cf6adadf63c7ba3ba9de85acb
BLAKE2b-256 0d38a23beb07ee33205c077debe7521e8e2afb5f1da7672880904b64829e4e35

See more details on using hashes here.

File details

Details for the file dagster_hashicorp-0.1.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for dagster_hashicorp-0.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 63666dadcd94d1c17d7c2ca0363aeb6cd52672144b13feb957998b4b542c5bf0
MD5 e8377fbd7fc56ca6e4adb8ea8e259acf
BLAKE2b-256 4803f4dc1a6ba4f3512151066cd36994ca714a143fc9e53884d3fe7e5bd537e4

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