remove(deployment): the 'replicas' field from the helm template if not used by user #142
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.
What does this MR do?
Remove the 'replicas' field from the helm template if set to null by user.
Why was this MR needed?
If you are using Keda to auto-scale your runner, it will modify the 'spec.replicas' of the deployment. That will cause a drift from the manifest known to ArgoCD. Therefore ArgoCD resync the resource. But then Keda retry to update it, and so on.....
By modifing the deployment template, we ensure that the replicas field is not present in the helm template if set to null by the user, and therefore not watch by ArgoCD. Note that by default, Kubernetes will set de 'spec.replicas' field to 1 if not present.
What's the best way to test this MR?
Do three helm template: