kubectl apply -k deploy/
Argo CD ApplicationSets are an evolution of the “App of Apps” deployment pattern. It took the idea of “App of Apps” and expanded it to be more flexible and deal with a wide range of use cases. The ArgoCD ApplicationSets runs as its own controller and supplements the functionality of the Argo CD Application CRD.
ApplicationSets provide the following functionality:
- Use a single manifest to target multiple Kubernetes clusters.
- Use a single manifest to deploy multiple Applications from a single, or multiple, git repos.
- Improve support for monolithic repository patterns (also known as a “monorepo”). This is where you have many applications and/or environments defined in a single repository.
- Within multi-tenant clusters, it improves the ability of teams within a cluster to deploy applications using Argo CD (without the need for privilege escalation).
ApplicationSets interact with Argo CD by creating, updating, managing, and deleting Argo CD Applications. The ApplicationSets job is to make sure that the Argo CD Application remains consistent with the declared ApplicationSet resource. ApplicationSets can be thought of as sort of an “Application factory”. It takes an ApplicationSet and outputs one or more Argo CD Applications.
You can read more about ApplicationSets from the ApplicationSets documentation site.
Just delete the application set and the ArgoCD ApplicationSet contoller will do the magic!
kubectl delete applicationset --all -n argocd