Skip to content

Status: shipped in 0.8.0 via etlantic-airflow.

Orchestration Plugins

Orchestration plugins bind a validated Pipeline Plan to a workflow orchestration platform.

ETLantic does not embed Airflow, Dagster, Prefect, or any other scheduler into its core. Instead, orchestration plugins translate the implementation-independent Pipeline Plan into runtime-specific workflow artifacts (for example Airflow DAGs) while preserving the pipeline's declared semantics.

Direct in-process or Python-native coordination uses the separate ExecutionScheduler boundary (LocalScheduler and the optional etlantic-prefect local MVP). Prefect is not modeled as an Airflow-style compile_plan target.

Goals

Orchestration plugins should:

  • Preserve DPCS semantics.
  • Remain independent of pipeline modeling.
  • Support multiple orchestration platforms.
  • Declare capabilities explicitly.
  • Generate deterministic orchestration artifacts.
  • Fail when mandatory semantics cannot be preserved.

Philosophy

ETLantic defines what the pipeline means.

Orchestration plugins define where and how it is coordinated.

Pipeline Plan
      ├──────────────────────────────┐
      ▼                              ▼
Orchestration Plugin           ExecutionScheduler
(compile / submit)             (direct execution)
      │                              │
 ┌────┼────────┐              ┌──────┼────────┐
 ▼    ▼        ▼              ▼               ▼
Airflow Dagster  …        LocalScheduler   Prefect

Compile plugins produce platform artifacts. Scheduler plugins coordinate already-resolved physical/logical work without re-planning.

Why Plugins?

Separating orchestration from modeling provides:

  • Vendor independence
  • Easier testing
  • Cleaner APIs
  • Multiple deployment targets
  • Future extensibility

Pipeline definitions never depend on orchestrator APIs.

Supported Platforms

ETLantic is designed to support:

  • Local execution via built-in LocalScheduler
  • Airflow via etlantic-airflow (OrchestratorPlugin / compile_plan)
  • Prefect via shipped etlantic-prefect (ExecutionScheduler, local MVP)
  • Future compile or scheduler adapters (Dagster, Argo, cloud workflow services) behind the matching protocol

Do not assume every platform is a compile target. Prefect's shipped path is local direct execution, not DAG artifact generation.

Capability Matching

Each orchestration plugin publishes the capabilities it supports.

Examples include:

  • Scheduling
  • Parallel execution
  • Retries
  • Checkpoints
  • Event triggers
  • Approval workflows
  • Compensation
  • Dynamic branching

During planning, ETLantic compares pipeline requirements against plugin capabilities.

Planning or binding should fail if a required capability is unavailable.

Binding

Binding converts a Pipeline Plan into a platform-specific representation.

Examples include:

  • Airflow DAG
  • Dagster Definitions
  • Argo Workflow
  • Deployment manifests

Prefect Flow / task mapping for the shipped local MVP belongs to the ExecutionScheduler path, not this compile binding list.

Bindings must preserve:

  • Graph topology
  • Step identities
  • Dependencies
  • Scheduling intent
  • Failure semantics
  • Quality gates
  • Lineage
  • Contract references

Scheduling

Scheduling is part of the orchestration layer—not the pipeline definition.

Profiles may select:

  • Manual execution
  • Cron schedules
  • Event-driven execution
  • Dependency-triggered execution

The orchestration plugin maps these requirements to the target platform.

Resource Management

Plugins coordinate runtime resources such as:

  • Worker pools
  • Queues
  • Compute resources
  • Secrets
  • External services

Resources are resolved through profiles and bindings rather than embedded in pipeline contracts.

Observability

Plugins should expose execution events including:

  • Pipeline started
  • Step started
  • Step completed
  • Step failed
  • Retry
  • Pipeline completed

Events should reference stable pipeline and step identities.

Best Practices

  • Preserve observable semantics.
  • Declare capabilities explicitly.
  • Keep orchestrator-specific configuration out of pipelines.
  • Validate bindings before deployment.
  • Generate deterministic artifacts.

Anti-Patterns

Avoid:

  • Writing Airflow-specific pipeline definitions.
  • Encoding scheduler logic in transformation contracts.
  • Silently ignoring unsupported features.
  • Changing graph semantics during binding.

Key Principle

Orchestration plugins coordinate execution of a Pipeline Plan on a specific platform while preserving the portable semantics defined by DPCS.

Next Step

Continue with Resource Providers to learn how execution plugins acquire and manage runtime resources.