argoproj / argo-cd

Declarative Continuous Deployment for Kubernetes
https://argo-cd.readthedocs.io
Apache License 2.0
17.86k stars 5.45k forks source link

Enable goTemplate by default in ApplicationSets #19985

Open crenshaw-dev opened 1 month ago

crenshaw-dev commented 1 month ago

We want to eventually remove support for non-goTemplate ApplicationSets.

First we should switch to goTemplate by default while preserving the fasttemplate option.

agaudreault commented 1 month ago

I think this is quite impactful because if I recall correctly, it is not only updating the flags, but the syntax in the go templates changes. so {{ metadata.labels }} is now {{ .metadata.labels }}. This means the teams that operate Argo CD must make sure all the ApplicationSet (most likely defined by the users) are converted.

https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/GoTemplate/#globals

Unless the requirement to modify the globals is removed, I don't think we can switch the default :/

We could create a configurable default setting on the controller to use as the ApplicationSet default value when not specified. But I think this adds more settings, without moving us closer to #10858.

crenshaw-dev commented 1 month ago

Fair, maybe this is more of a 4.0 kind of thing. I'll move it to that milestone.