Skip to content

Rollout Waves

Use rollout waves to apply a bundle change in stages. Set an integer rolloutWave in each controller’s reconciliation policy. Lower values apply first; 0 is the first wave.

spec:
reconciliationPolicy:
rolloutWave: 1

Each controller waits until earlier-wave controllers using the same bundle have applied the target successfully. Only Connected earlier-wave controllers gate later waves; a controller in any other phase is skipped and does not block them.

A Connected earlier-wave controller clears the gate only when all three conditions hold.

ConditionCleared when
Bundle hashApplied hash matches the target.
Apply resultLast apply succeeded.
Mite heartbeatMite connected, heartbeat newer than the stale threshold.

A controller whose apply succeeded but whose mite has gone quiet still blocks the wave, so check heartbeat freshness before assuming a stalled rollout is an apply failure.

Inspect the controller and rollout status. Fix the failed controller, then approve or reconcile it as required by the configured reconciliation policy. To halt a rollout, pause the affected composed bundle; resume only after validating the corrected configuration.

Use Composed bundles for bundle lifecycle and Reconciliation for approval behavior.