Skip to content

Status Lifecycle

Every deployment in DAG progresses through a series of statuses. These statuses are reported in real time via the SSE events stream.

Statuses

StatusDescription
pendingDeployment created and queued for processing
validatingJob token has been verified; deployment is starting
pushingCloning/updating the IAC repo, extracting the chart, committing, and pushing
pushedChart successfully committed to the IAC repository
monitoringPolling the Kubernetes cluster for deployment status
deployedDeployment completed successfully (terminal)
failedDeployment failed at any stage (terminal)

Flow

pending → validating → pushing → pushed → monitoring → deployed
                 │           │                  │
                 └───────────┴──────────────────┴──→ failed

A deployment can transition to failed from any non-terminal status.

Terminal States

The two terminal states are deployed and failed. Once a deployment reaches a terminal state:

  • The SSE connection is closed
  • The dag-deploy CLI exits (code 0 for deployed, code 1 for failed)
  • No further status changes occur

Status Messages

Each status event includes a human-readable message field. On failure, the message describes what went wrong:

Failure PointExample Message
Token verificationJob token verification failed
IAC pushFailed to push chart to IAC repo
K8s monitoringHelmRelease reconciliation failed: chart values validation error
TimeoutDeployment timed out after 300 seconds