Overview
Why Use Environment Progression?
Environment progression rules help you:- Enforce deployment order - Prevent skipping environments in your pipeline
- Catch issues early - Problems surface in lower environments first
- Build confidence - Each environment validates before the next
- Meet compliance - Satisfy audit requirements for change promotion
Configuration
Add an environment progression rule to your policy:Properties
| Property | Type | Required | Default | Description |
|---|---|---|---|---|
dependsOnEnvironmentSelector | Selector | Yes | - | Selector for the prerequisite environment(s) |
minimumSuccessPercentage | float | No | 100 | Percentage of targets that must succeed (0-100) |
successStatuses | array | No | - | Job statuses considered successful |
minimumSoakTimeMinutes | integer | No | 0 | Minutes to wait after dependency succeeds |
maximumAgeHours | integer | No | - | Maximum age of dependency deployment before blocking |
Common Patterns
Simple Linear Progression
Enforce QA → Staging → Production order:Soak Time Requirements
Require the release to “soak” in staging before production:Freshness Requirements
Block promotion if the staging deployment is too old:Partial Success Threshold
Allow promotion when most (not all) targets succeed:Complete Pipeline with All Options
Full-featured production gate:Progression Lifecycle
1. Version Created
A new deployment version is created and ready for release.2. Lower Environment Deployment
The version is deployed to the prerequisite environment (e.g., QA).3. Success Evaluation
Ctrlplane evaluates if the deployment meets success criteria:- Job status matches
successStatuses - Success percentage meets
minimumSuccessPercentage
4. Soak Time (if configured)
IfminimumSoakTimeMinutes is set, the clock starts after success.
5. Progression Allowed
Once all criteria are met, the version can proceed to the next environment.Environment Selector Examples
By Name
By Multiple Names
By Metadata
Best Practices
Timing Guidelines
| Transition | Soak Time | Max Age | Notes |
|---|---|---|---|
| Dev → QA | 0 | - | Fast iteration |
| QA → Staging | 0-15 min | 24h | Quick validation |
| Staging → Production | 30-60 min | 48h | Thorough soak |
| Critical services | 2-4 hours | 24h | Extended observation |
Recommendations
- ✅ Start with simple progression, add soak time later
- ✅ Use
maximumAgeHoursto prevent stale promotions - ✅ Combine with verification for automated quality gates
- ✅ Use lower
minimumSuccessPercentagefor environments with flaky tests - ✅ Document your progression requirements for the team
Next Steps
- Policies Overview - Learn about policy structure
- Verification - Add automated health checks
- Gradual Rollouts - Control deployment pace