Skip to main content

airflow-fernet-secrets

License: Apache-2.0 github action PyPI version python version

how to install

pip install airflow-fernet-secrets
# or
# pip install airflow-fernet-secrets[asyncio]

how to use

config

AIRFLOW__SECRETS__BACKEND=airflow.providers.fernet_secrets.secrets.secret_manager.FernetLocalSecretsBackend
# or
# AIRFLOW__SECRETS__BACKEND=airflow_fernet_secrets.secrets.server.ServerFernetLocalSecretsBackend
#
AIRFLOW__PROVIDERS_FERNET_SECRETS__SECRET_KEY=# some fernet key
# ex: 2eu7W6ULuYxnUB4Uz31IYddkdgboa5kLP24bYtegll0=
# or
# AIRFLOW__PROVIDERS_FERNET_SECRETS__SECRET_KEY_CMD=# some fernet key command
# ex: cat /dev/run/secret_key
# or
# AIRFLOW__PROVIDERS_FERNET_SECRETS__SECRET_KEY_SECRET=# some fernet key file
# ex: /dev/run/secret_key
AIRFLOW__PROVIDERS_FERNET_SECRETS__BACKEND_FILE=# some sqlite file path
# ex: /tmp/backend
# or
# AIRFLOW__PROVIDERS_FERNET_SECRETS__BACKEND_FILE_CMD=# some sqlite file path command
# ex: cat /tmp/where_is_backend
# or
# AIRFLOW__PROVIDERS_FERNET_SECRETS__BACKEND_FILE_SECRET=# some sqlite file path file
# ex: /tmp/where_is_backend

example dag

from __future__ import annotations

from typing import TYPE_CHECKING

from pendulum import datetime

from airflow.decorators import dag, task
from airflow.providers.fernet_secrets.operators.sync import DumpSecretsOperator

if TYPE_CHECKING:
    from airflow_fernet_secrets.typings import SecretsParameter


@dag(start_date=datetime(2024, 1, 1), catchup=False, schedule=None)
def dump_connection():
    @task.load_fernet()
    def load_connection() -> SecretsParameter:
        return {"conn_ids": "some_conn_id"}

    dump = DumpSecretsOperator(task_id="dump", fernet_secrets_conn_ids="some_conn_id")
    load = load_connection()
    _ = dump >> load


dump_connection()

TODO

  • exceptions
  • mysql
  • mssql(pymssql)
  • more tests

Metadata

Release files for airflow-fernet-secrets 0.2.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 airflow-fernet-secrets 0.2.1
File Size Uploaded
airflow_fernet_secrets-0.2.1.tar.gz 31.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for airflow-fernet-secrets 0.2.1
File Interpreter ABI Platform
airflow_fernet_secrets-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 86.6 kB

Release files / airflow_fernet_secrets-0.2.1.tar.gz

Download URL airflow_fernet_secrets-0.2.1.tar.gz
Size 31.0 kB
Tags Source
SHA-256 checksum
How to use checksums
2c8829d220dffa0dd12661072dff21be97a5ecc3527e0798ab5dadf5b48db521
BLAKE2b-256 checksum
How to use checksums
586a7a2252a6a7612fb9202ce9c2fca7cef848a48db4c3c1f21cdf5479849b5c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.4.22

Release files / airflow_fernet_secrets-0.2.1-py3-none-any.whl

Download URL airflow_fernet_secrets-0.2.1-py3-none-any.whl
Size 55.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f39e2ddef501397d4f6dfd75e7c0bcd9cb9671ce28cf1aa2cbabac764a5d75cc
BLAKE2b-256 checksum
How to use checksums
9bb3ef846d9461ca694bfd48442dd0367505fc6a731cd0b7cff2d8f8845052af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.4.22

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.4

2 release files

0.0.2

2 release files

0.0.1

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