Skip to main content

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"}}},
                }
            }
        }
    }
)

Metadata

Release files for dagster-hashicorp 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dagster-hashicorp 0.1.1
File Size Uploaded
dagster-hashicorp-0.1.1.tar.gz 8.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dagster-hashicorp 0.1.1
File Interpreter ABI Platform
dagster_hashicorp-0.1.1-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 15.7 kB

Release files / dagster-hashicorp-0.1.1.tar.gz

Download URL dagster-hashicorp-0.1.1.tar.gz
Size 8.0 kB
Tags Source
SHA-256 checksum
How to use checksums
0fb1d67ee7b1b08f51f1f8866ed29b28d3fb64b68a9916756d6cac452fb8c864
BLAKE2b-256 checksum
How to use checksums
0d38a23beb07ee33205c077debe7521e8e2afb5f1da7672880904b64829e4e35
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / dagster_hashicorp-0.1.1-py2.py3-none-any.whl

Download URL dagster_hashicorp-0.1.1-py2.py3-none-any.whl
Size 7.7 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
63666dadcd94d1c17d7c2ca0363aeb6cd52672144b13feb957998b4b542c5bf0
BLAKE2b-256 checksum
How to use checksums
4803f4dc1a6ba4f3512151066cd36994ca714a143fc9e53884d3fe7e5bd537e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page