Troubleshooting
- ActionDirty
A stage with an incomplete once-per-lifetime action failed repeatedly, so the controller halted auto-retry; clear the halt with a manual reconcile once the cause is fixed.
- ArtifactNotFound
The referenced ExternalArtifact could not be found (transient; the controller requeues).
- AwaitingPromotion
A stage is applied and healthy and the rollout is holding for a manual promotion.
- BudgetExhausted
A rollout is frozen because the service is out of its SLO error budget.
- BudgetSourceUnavailable
A metric source for an error-budget freeze or a promotion analysis could not be read.
- Controller pod down
A stageset-controller pod has been NotReady for the alert window.
- DependencyNotReady
A StageSet named in spec.dependsOn is not yet Ready.
- DowngradeNotAllowed
The desired version is below the deployed version and downgrades are not enabled.
- DowngradeRequiresMigration
A downgrade is enabled, but a version boundary it crosses declares no down actions and is irreversible.
- ImageUnverified
A stage referenced an image that fails an ImageVerificationPolicy; the stage is held before apply.
- InvalidSpec
The StageSet spec is invalid; the Message names the offending field or action.
- InvalidVersion
A version source or value could not be parsed as semver.
- MigrationArtifactInvalid
A migration ladder sourced via spec.migrationsSourceRef could not be parsed or failed content validation; the version is held back until the artifact is fixed.
- MigrationCoverageMissing
A major-version transition has no migration covering it, and requireMigrationCoverage is set; the version is held back.
- MigrationDirty
A migration failed repeatedly, so the controller halted auto-retry; clear the halt with a manual reconcile once the cause is fixed.
- MigrationFailed
A migration's action failed; the run halts at that stage and retries with backoff, skipping already-completed actions.
- MigrationSourceNotPinned
A sourced migration ladder's source is pinned to a mutable tag/branch instead of an immutable digest/commit, and pinning is required.
- MigrationSourceNotVerified
A sourced migration ladder's source is not signature-verified; the destructive ladder is refused until verification passes.
- MigrationStageNotFound
A version-selected migration anchors to a stage that doesn't exist in this StageSet; the version is held back rather than skipping the migration.
- PreviousRevisionUnavailable
rollbackOnFailure is set but the last-good revisions could not be restored.
- Producer watch engagement failing
A dynamic watch on a producer source kind failed to engage, so StageSets referencing that kind no longer re-trigger on the producer's upstream changes.
- PromotionBlocked
A stage's promotion analysis breached its thresholds, so the rollout will not advance past it.
- RBACDenied
An apiserver call the controller made — resolving a source, an impersonated apply, or a tenant get — failed with Forbidden or referenced a kind the apiserver does not know.
- Reconcile latency high
Reconcile p99 latency for the StageSet controller is above threshold.
- ResolveFailed
A source reference could not be resolved to a ready ExternalArtifact.
- Runbooks
Symptom-to-remediation pages for every StageSet status reason and operational alert, grouped by what each means for the rollout.
- Soaking
A stage is applied and healthy and the rollout is holding through its promotion soak window before advancing.
- SourceNotReady
The source exists but has not published a ready artifact yet (transient).
- StageFailed
A stage failed to fetch, build, apply, verify, or run an action; the run halts there.
- StageInventory
The controller-managed inventory of objects each stage applied.
- StageProgressing
A stage's verify wait ran out of time while its objects were still coming up, so the run is holding rather than failing — it converges on its own.
- Stalled
The run cannot make progress and will not retry until the spec changes.
- Suspended
Reconciliation is paused via spec.suspend.
- TeardownForced
A deleting StageSet's finalizer was force-dropped because teardown could not complete, possibly orphaning objects on the target cluster.
- UpdateDeferred
A new revision is held by a closed update window.
- Webhook cert renewal failing
The self-signed admission webhook certificate is not being rotated.
- Workqueue saturation
The controller cannot drain its reconcile queue fast enough.