Back to results for “Multi-cluster”
ArgoCD › Applications

What are ApplicationSets and what problem do they solve?

Advanced

Answer

ApplicationSet is a controller that templates and generates many Applications from a single spec using generators (list, cluster, Git directory/file, matrix, pull request, SCM). It removes the toil of hand-writing an Application per environment/cluster/team and keeps a fleet of apps consistent and automatically updated as inputs change.
apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
spec:
  generators:
    - clusters: {}
  template:
    metadata: { name: '{{name}}-guestbook' }
    spec:
      destination:
        server: '{{server}}'
        namespace: guestbook
Real-world example One ApplicationSet with a cluster generator deploys the same app to all 20 registered clusters automatically.

Common follow-ups: What generators are available? | How does ApplicationSet differ from App of Apps?