The Core Flow
Every deployment in Ctrlplane follows this flow:- CI creates a version — After building, your CI tells Ctrlplane about the new version
- Policies are evaluated — Ctrlplane checks if approvals, dependencies, and gates are satisfied
- Job is dispatched — Ctrlplane tells your job agent (ArgoCD, GitHub Actions, etc.) to deploy
- Deployment executes — The job agent performs the actual deployment
- Verification runs — Ctrlplane checks metrics (Datadog, Prometheus, HTTP) to confirm health
- Promote or rollback — If verification passes, continue; if it fails, roll back
The Key Entities
You only need to understand 5 things:| Entity | What It Is | Example |
|---|---|---|
| Resource | A deployment target | prod-us-east-1 K8s cluster |
| Environment | A group of resources | ”Production” = all clusters with env: prod |
| Deployment | A service you deploy | ”API Gateway” |
| Version | A specific build | v1.2.3 or sha-abc123 |
| Policy | Rules for deployment | ”Require approval for production” |
How They Connect
- API Gateway → Production → us-east-1
- API Gateway → Production → us-west-2
- API Gateway → Production → eu-west-1
Dynamic Environments
Environments use selectors to automatically include resources:env: production metadata, it automatically becomes part of the Production environment. No config changes needed.
Policies Control Everything
Policies define rules for when deployments can happen:| Policy | What It Does |
|---|---|
| Approval | Require sign-off before deploying |
| Environment Progression | Wait for staging before prod |
| Gradual Rollout | Deploy to targets one at a time |
| Verification | Check Datadog/Prometheus metrics |
| Deployment Window | Only deploy during certain hours |
Job Agents Execute Deployments
Ctrlplane doesn’t deploy directly—it tells job agents what to do:| Agent | What It Does |
|---|---|
| GitHub Actions | Triggers workflow dispatch |
| ArgoCD | Creates/syncs ArgoCD Applications |
| Terraform Cloud | Triggers Terraform runs |
| Kubernetes | Applies manifests directly |
A Complete Example
- GitHub Actions builds
v1.2.3and creates a version in Ctrlplane - Ctrlplane creates a release for staging
- ArgoCD deploys to staging
- Verification checks Datadog metrics
- Staging passes → production release is unblocked
- Production requires approval → team lead approves
- ArgoCD deploys to production
- Verification confirms production is healthy