fix(appset): avoid panic when no steps in rollingSync #20357
+315
−64
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #18817.
Description
When using Applicationset's rolling sync, having no steps in the manifest results in a panic. This PR attempts to fix that by ensuring a positive number of steps.
Additionally, applications not selected by MatchExpressions are still treated as part of
Step 1
(actually Step 0 due to 1-based indexing) because theappStepMap
defaults to 0 and there is no validation for the presence in the map.These applications are not synced by the rolling sync. I suggest assigning them a value of
-1
to clearly indicate that they are excluded from the sync and must be manually synced.Checklist: