Skip to content

Connections cookbook

A Connection is a piece of credentialised configuration the control plane encrypts at rest (ADR 0019) and delivers to a running task as AIRFLOW_CONN_<CONN_ID> (ADR 0021). User code (Python psycopg2, requests, your operator of choice) reads the env var and connects.

This page is the index. Each linked entry below is a focused recipe with the URI shape, an example DAG, and how to test it.

Pre-alpha

Only a subset of Airflow's standard connection types are documented + tested at this stage. The list below grows as we land them.

Locally-testable (Docker / Lima)

Type Doc Example DAG Status
postgres postgres.md examples/postgres_load โœ… documented + automated test (#138)
mysql / mariadb mysql.md examples/mysql_load โœ… documented + automated test (#69, table-driven via #138)
mssql mssql.md examples/mssql_load โœ… documented + automated test (#71, table-driven via #138)
sqlite sqlite.md examples/sqlite_load โœ… documented + automated test (#70, dedicated test for file-path shape; Tier 1 โ€” no service needed)
redis redis.md examples/redis_load โœ… documented + automated test (#73, table-driven via #138; Tier 1 โ€” redis already in CI services)
http / https http.md examples/http_load โœ… documented + automated test (#75, dedicated test for __extra__ round-trip; Tier 1 โ€” no service needed)

Cloud (documented)

Type Doc Example DAG Status
google_cloud_platform google_cloud_platform.md examples/gcp_gcs_load โœ… documented โ€” key + keyless (Workload Identity) (#77, #56); delivery test with a synthetic key; real-cloud e2e is manual

Cloud (deferred past alpha)

These need provider accounts to test end-to-end; the umbrella issues are filed but the cookbook entries are not part of the first alpha cut.

  • aws (#76), snowflake (#78), oracle (#72), kafka (#82), ssh (#79), ftp (#80), sftp (#81), mongo (#74)

Contract every entry honours

Every entry in this cookbook ships with all three of:

  1. A doc page (this dir) covering: URI shape, default port, Lite-vs-Pro caveats, security notes (TLS, auth modes).
  2. An example DAG under examples/<type>_*/ with its own README.md showing how to spin up the dependency (Docker / Lima), how to create the Connection in the UI, and the expected end-state of the target system.
  3. An automated test that proves the delivery chain โ€” the integration test under internal/storage/ (companion to the example) gated by the integration build tag, runs in CI against a real Postgres.

If a layer is mocked or the e2e test is manual-only, the doc says so and a follow-up issue covers the gap.

  • ADR 0019 โ€” secret encryption at rest.
  • ADR 0021 โ€” agent secret delivery.
  • 67 โ€” connectors umbrella.

  • 142 โ€” the cookbook umbrella (this page).