KB-4 Suspected, not reproduced
Manual sync mode can apply without a /sync request
Behavior#
In manual mode (spec.syncPolicy.automatic: false), convoy must apply only after a /sync
request. But convoy makes the rollout decision before the manual-mode gate:
- A new render opens a
Progressingrollout while the apply waits for/sync. - A rollout in
RolledBackapplies the last healthy render with no/syncrequest. This apply also skips the cluster-wave gate.
Effect#
In manual mode, convoy can change the cluster without a /sync request.
Workaround#
Set spec.failurePolicy.rollback: Never on Releases that use manual mode.
In the code
convoy v0.9.0
internal/controller/release.(*Controller).planRolloutinternal/controller/release/controller.go:1511internal/controller/release.(*Controller).stageGatesinternal/controller/release/controller.go:1027