Deploy your first Pro DAG
Take a DAG from Lite to a Kubernetes control plane — your first Pro deployment.
Version v0.5.5 of the documentation is no longer actively maintained. The site that you are currently viewing is an archived snapshot. For up-to-date documentation, see the latest version.
Running Dexaflow in production: promotion from Lite to Pro, the deploy pipeline, and the day-2 operations that keep a control plane healthy.
Take a DAG from Lite to a Kubernetes control plane — your first Pro deployment.
Keep many DAGs in one repository and deploy them to named control planes, with no wrapper scripts.
Run the Pro deployment path on a throwaway k3d cluster on your machine, from the Helm chart to a first DAG run. For local testing and evaluation, not for production.
The builders dexaflow deploy, compile --build and build choose from, in order, the remote builder on Cloud Build or on the in-cluster builder the Helm chart can run, how the target platform is picked, and the local container daemon as the fallback.
What stays the same and what changes when a DAG you ran with dexaflow lite moves to a Pro control plane.
Every gate dexaflow deploy/push enforces — the exact error, why it exists, and the fix.
Build, push and register DAGs from CI: GitHub Actions, GitLab CI, Cloud Build, Argo Workflows, Tekton and Jenkins, with buildah or kaniko.
Install and configure the Dexaflow Pro control plane on Kubernetes with the official Helm chart.
Upgrade a Dexaflow control plane safely, edition by edition.
Back up and restore Dexaflow state — metadata, secrets, and logs.
Obtain a token, trigger a DAG run with conf over the REST API, and poll it — the raw-HTTP path for an external integrator.
Reach credentials that live in your cloud secret store or Vault from task pods — keyless first, then External Secrets Operator or a mounted Kubernetes Secret — without duplicating them in Dexaflow.
A turnkey runbook to prove the keyless external-secrets resolver end-to-end on EKS or GKE — the one thing an emulated store cannot validate — before turning the backend on in production.
Diagnose DAG, scheduler and executor problems; where the logs and signals live.
How the scheduler survives restarts, leader loss and partial failure.
Why a single control-plane replica is evicted as routine housekeeping, what each restart costs, and the one-switch HA profile that turns it into seconds of failover.
Point OpenMetadata’s Airflow connector at Dexaflow over REST, and understand what it does and does not give you.
What the executor puts in every task pod’s securityContext, what readOnlyRootFilesystem changes, and how to run task pods in a Pod Security Admission restricted namespace.
Restrict which task placement fields (priority class, node selector, affinity, tolerations and the rest) DAG authors may set on a shared cluster.
Cut task start latency with pre-warmed worker pods.
How declared secrets reach the in-container agent, and the trust boundary.
Turn on OIDC login against Google Workspace, and read the audit log when it denies.
Turn on OIDC login against an IdP other than Google Workspace, and the two settings that differ per provider.
Turn on OIDC login against a Cognito user pool, including the three things that differ from every other provider.
Terminate TLS on the Pro control plane with cert-manager.
Encrypt every hop inside the cluster: a service mesh with mTLS, or TLS on the API listener for load balancer re-encryption, and who may dial the agent gRPC port.
Renew the agent gRPC server certificate and roll the CA that task pods trust, without restarting the control plane or killing running tasks.
The ephemeral per-run volume that shares large data between tasks.
Run a Pro DAG straight from its dag.py on a shared runtime image, with no image build.