-
Epic
-
Resolution: Done
-
Major
-
None
-
ArgoCD progressive sync to allow removal of the application in specific order
-
L
-
False
-
-
False
-
In Progress
-
SECFLOWOTL-99 - AppSet Progressive Sync GA
-
0% To Do, 0% In Progress, 100% Done
-
-
Epic Goal
Currently argocd progressive sync deploy generated applications based on the order that you specified in the applicationset configuration, but when you need to remove all the generated/deployed application it does not follow this order. It removes all generated applications in parallel.
What change you think needs making.
It will be better to have possibility to overwrite/configure this behavior via argocd configuration and to provide specific order or to instruct argocd to follow the deployment order but in reverse order.
Motivation
I noticed this behavior when some clusters need to be decommissioned. There are some dependencies between the kubernetes core services which were deployed on the clusters for example in following order:
- argocd and alb controller first
- then crossplane with its provider and provider configuration
- some CSI driver which use resources that crossplane
- application which use above mentioned services
- When I tried to remove them via just removing the applicationset which generated them removal process stuck first on crossplane. Because argocd progressive sync remove them in parallel it removed the crossplane deployment before the actual crossplane provider configuration and in this way it leave a resources which are with finalizers that wait the crossplane operator to remove them. When I remove all the resources next stuck was related to the argocd ingress resources which need alb controller but it was again removed before that.
- Please give examples of your use case, e.g. when would you use this.
- This improvement will be helpful in above mentioned situations and will make for example the decommission process much easier and smooth.
Proposal
It will be good to allow the users to specify if they want all the apps to be removed in parallel (current approach), to specify their own order which could be different from the deployment order or to use the deployment order but in reverse.
Upstream Reference
https://github.com/argoproj/argo-cd/issues/14505
Acceptance Criteria
- clones
-
GITOPS-6238 Integrate the progressive sync feature to the ArgoCD UI
-
- Closed
-