Skip to content

Consumer follow-ups after the closed init-fetch connection bridge

OSS now closes the provider/runtime bridge described in feature-design-airflow-init-fetch-connection-bridge-v0732.md. Consumer repos still own the cutover steps below. Do not flip global unsafe_airflow_env while legacy/connection_id workloads remain.

airflow-dags-dev

  1. Pin a dpone release that includes the closed bridge and dpone gitops airflow release-materialize (feature-design-airflow-compact-pack-v2-context-promotion-v1.md).
  2. Publish DEV through compact → release-materialize → dpone airflow build/publish so pods receive verified RuntimeConnectionContext (binding-set.json, rewritten connection-registry.json, credential-runtime.json). Bare compact gitops airflow reconcile or legacy pack-index.json alone remains insufficient for connection_ref.
  3. Keep sealed connection_projection (kubernetes_secret_volume) from dpone check --connectionsairflow_connection_bridge.projection.
  4. Scheduler loader must use one v2 airflow-index.json load path. Retire smoke-v2 dual-load / hardcoded PILOT_DAGS once the promoted release covers the domain fleet.
  5. Do not reintroduce unsafe_airflow_env as the GitOps default.

airflow-dwh

  1. Grant the workload SA (airflow-sa in the DEV namespace) a narrow Role for attempt Secret create / get / delete on names/labels used by dpone-airflow-connection-bridge-*.
  2. Do not grant cluster-admin or cross-namespace Secret data read.
  3. Confirm create-only conflict behavior and after_execute cleanup on a non-prod pilot before broader rollout.

Evidence required before declaring pilot GREEN

  • Airflow DAG run id for the smoke workload
  • Task success without unsafe_airflow_env
  • Credential/runtime receipts that expose only logical refs and digests