argoproj / argo-cd

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

Add resources filter on the application sync panel #18265

Open samng1991 opened 2 weeks ago

samng1991 commented 2 weeks ago

Summary

Add 'NAME', 'KINDS', 'NAMESPACES' filters on the application sync panel.

CaptureArgoCD

Motivation

If an application with more then 1000 resources, it's hard to do the selective sync in UI. If add the filters then it would help us to select the resources that want to sync.

Proposal

I would add 'NAME', 'KINDS', 'NAMESPACES' filters just below the "SYNCHRONIZE RESOURCES:" section in the application sync panel. 'NAME' filter can be use regex to filter the resources. 'KINDS' & 'NAMESPACES' filter can be multiple select, also each of the filter would use 'or' operator to filter the resources. Those filters are combine to use 'and' operator to filter the resources. The filtering are doing in local side, no need call argocd server backend. Those resources that filtered would be just add the "hide" className to hide it, so those checked resources would not be uncheck after those filter changed. If those resources are hide and checked, then would have a message under the filter to remind user the number of resources are hide but they are checked.

yangtian9999 commented 6 days ago

Hello ArgoCD team, I also have such UI selection issue when operate the individual resource sync. Please kindly help to see if could add in future. Thanks.