Argo CD Cheatsheet

Argo CD CheatsheetKapitel 03 von 12

Argo CD App-of-Apps und ApplicationSet

Stand Argo CD 3.5 · Edition 2026.11 · Release-Daten geprüft am 30. Oktober 2026

App-of-Apps (Bootstrapping)

Eine Parent-Application zeigt auf einen Ordner (oder ein Chart) voller Application-Manifeste, ein Sync bootstrappt den ganzen Cluster deklarativ. Sync-Waves zwischen Child-Apps warten nur mit einem Lua-Health-Check für argoproj.io_Application, eingebaut ist er seit v1.8 nicht mehr.

Achtung: Wer ins Parent-Repo pushen darf, kann Applications in beliebige Projekte legen, Push-Zugriff dorthin ist Admin-Level. ApplicationSets ebenso nur von Admins anlegen und ändern lassen.

ApplicationSet-Generators

Template + Generator = Applications in Serie: List (feste Wertepaare), Cluster (alle in Argo CD registrierten Cluster), Git (Directories/Files eines Repos), SCM-Provider und Pull-Request (Repo-/PR-Discovery via Provider-API), Plugin (eigener RPC-Dienst), Cluster Decision Resource (Cluster-Auswahl per CR).

Matrix kombiniert zwei Generators (z.B. Cluster × Git), Merge überlagert Parameter mehrerer Generators.

apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata: {name: workloads, namespace: argocd}
spec:
  goTemplate: true
  goTemplateOptions: ["missingkey=error"]
  generators:
    - matrix:
        generators:
          - clusters: {}    # alle registrierten Cluster
          - git:
              repoURL: https://git.example.com/deploy.git
              revision: HEAD
              directories:
                - path: apps/*
  template:
    metadata:
      name: '{{.name}}-{{.path.basename}}'
    spec:
      project: workloads
      source:
        repoURL: https://git.example.com/deploy.git
        targetRevision: HEAD
        path: '{{.path.path}}'
      destination:
        server: '{{.server}}'
        namespace: '{{.path.basename}}'
      syncPolicy:
        automated: {prune: true, selfHeal: true}