applicationset
applicationset copied to clipboard
ApplicationSet Controller overrides any Application CR changes
Related to #180.
Right now if you attempt to add annotations, labels, or do things like per-app parameter overrides, those changes are automatically and quickly overridden. It'd be nice if (either via config or by default) the controller merged the generated CR instead of overwriting it.
Related Comment: https://github.com/argoproj-labs/applicationset/issues/180#issuecomment-814328494
It's possible to disable syncing, but what this ticket wants to accomplish is enabling syncing, but having sync perform a merge instead of overwrite.
Having tried to implement this, it looks like the safest option might be a config option which stores the applied generated template and diffs against that to generate patches to live configuration. Has some shortfalls, but I think covers the 90% case.
When the application controller is configured with --policy create-only
, the applications creation is managed by the controller but the applications can be changed or override
My use case:
In Production, only the main/master branch can be deployed. In Testing, a PR/branch can be deployed as well. It would be nice if ApplicationSet controller could optionally ignore the targetRevision
field so that engineers could manually change that field and deploy their features to a cluster using Argo.
This would also require the "Control resource modification on a per ApplicationSet basis" feature, which is currently a limitation.
Another use case is when some teams would like to have auto-sync enabled on their application and some other teams prefer to sync manually.
@RichiCoder1 Should this ticket be closed and tracked under https://github.com/argoproj/argo-cd/issues/9101 ?