Skip to content

docs(adr): defer ADR 0036 — use the real Airflow Task SDK for now#360

Open
neochaotic wants to merge 1 commit into
mainfrom
docs/defer-airflow-shim
Open

docs(adr): defer ADR 0036 — use the real Airflow Task SDK for now#360
neochaotic wants to merge 1 commit into
mainfrom
docs/defer-airflow-shim

Conversation

@neochaotic

Copy link
Copy Markdown
Owner

Records the decision to defer the Airflow runtime compatibility shim (ADR 0036) and keep the real Airflow Task SDK in the task image for now.

Why

The shim was fully prototyped on vanity/airflow-runtime-shim — it worked and shrank the per-task airflow surface from ~260 MB to ~0.16 MB. But growing it provider-by-provider is whack-a-mole: each provider drags more airflow.* surface and every Airflow minor drifts, so the maintenance debt is ours and unbounded. Meanwhile the base image's apache-airflow-task-sdk already makes provider hooks work today (the env-secrets backend reads AIRFLOW_CONN_*), at the cost of image size — not our code.

Decision

  • Keep the real Airflow Task SDK in the task image (status quo) → max connector compatibility, ~zero maintenance debt.
  • The slim shim is an image-size optimization deferred until maturity; the branch + docs/planning/{airflow-connector-compatibility,connectors-two-tier-model}.md are the blueprint.
  • ADR 0035 (keyless-first) stands as the direction for future Leoflow-native connectors; it does not govern the Airflow-compat path.

Docs-only. The vanity/airflow-runtime-shim branch is kept as a reference.

The runtime compatibility shim was fully prototyped on branch
vanity/airflow-runtime-shim (it worked; ~260 MB → ~0.16 MB airflow surface). We
are not shipping it: growing it provider-by-provider is whack-a-mole with
unbounded maintenance debt on our side, while the base image's
apache-airflow-task-sdk already makes provider hooks work today (the env-secrets
backend reads AIRFLOW_CONN_*) at the cost of image size, not our code.

Decision: keep the real Airflow Task SDK in the task image (status quo) — maximum
connector compatibility, ~zero maintenance debt. The slim shim is an image-size
optimization deferred until the product is mature; the branch + the two planning
docs are the blueprint. ADR 0035 (keyless) stays as the direction for future
native connectors.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant