Overview
When deploying to multiple targets (e.g., multiple Kubernetes clusters in production), gradual rollouts let you:- Reduce blast radius - If something goes wrong, only a subset of targets are affected
- Catch issues early - Problems surface in early batches before full rollout
- Control timing - Space out deployments to manage load and monitoring
Configuration
- Terraform
- API
Properties
The rollout strategy to use:
linear— Deploy to each target at a fixed intervallinear-normalized— Space deployments evenly within the time window
For
linear: seconds between each target deployment. For
linear-normalized: total seconds to complete the rollout.Rollout Types
Linear Rollout
Deploy to each target at a fixed interval:- Terraform
- API
Linear Normalized Rollout
Deployments are spaced evenly so that the last target is scheduled at or before thetimeScaleInterval:
- Terraform
- API
How Rollout Start Time Is Determined
The gradual rollout evaluator determines its start time by looking at other policy rules that must be satisfied first:- Approval rules - Uses the
satisfiedAttime when approvals were met - Environment progression rules - Uses the
satisfiedAttime when progression criteria were met - Policy skip overrides - Uses the skip creation time
- Deployment windows - Allow windows push the start to the window opening; deny windows push the start past the window closing
Common Patterns
Conservative Production Rollout
Long intervals with approval:Fast Staging Rollout
Quick rollout for non-production environments:Critical Service Rollout
Extra cautious rollout for critical services:- Terraform
- API
Best Practices
Timing Guidelines
| Environment | Rollout Type | Interval | Notes |
|---|---|---|---|
| QA | linear-normalized | 60-120s | Fast feedback |
| Staging | linear-normalized | 120-300s | Reasonable pace |
| Production | linear | 300-900s | Conservative, time to monitor |
| Critical | linear | 900-1800s | Extra time for verification |
Recommendations
- ✅ Use longer intervals for production environments
- ✅ Combine with verification to catch issues between batches
- ✅ Use
linear-normalizedwhen you have a time constraint - ✅ Use
linearwhen you want consistent spacing regardless of target count - ✅ Monitor each batch before the next one deploys
Next Steps
- Policies Overview - Learn about policy structure
- Deployment Window - Time-based deployment control
- Version Cooldown - Batch frequent releases