argoproj / argo-cd

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

Enhance application controller syncing of CRDs #2292

Open taharah opened 4 years ago

taharah commented 4 years ago

Is your feature request related to a problem? Please describe.

It would be nice if the application controller was capable of syncing resources from all, a subset, or a single namespace if specified. This would allow Operators to create Projects that are allowed to deploy resources to the local cluster where Argo CD is deployed, but only in a particular namespace, e.g., when deploying an App of Apps. Currently, the application controller only syncs CRDs from its local namespace.

Describe the solution you'd like

Ability to configure the application controller to sync resources from all, a subset of namespaces, or a single namespace.

Have you thought about contributing yourself?

Yes, I am more than happy to take a look at making the necessary changes myself.

alexec commented 4 years ago

@alexmt

willemm commented 2 years ago

That would be great. We already sort-of implemented this, by having a small operator (python script in kopf) that copies argocd Application CRs from different namespaces (adding a prefix, subject to an annotation on the namespace itself) and then copies the status back. But that's a bit flaky, still. Also, having to add prefixes to all applications is suboptimal.