apiVersion: argoproj.io/v1alpha1 kind: ApplicationSet metadata: name: clusters namespace: argocd annotations: argocd.argoproj.io/sync-wave: "0" spec: syncPolicy: preserveResourcesOnDeletion: true goTemplate: true goTemplateOptions: - missingkey=error generators: - clusters: selector: matchLabels: fleet_member: control-plane template: metadata: name: clusters labels: environment: '{{.metadata.labels.environment}}' tenant: '{{.metadata.labels.tenant}}' spec: project: default sources: - repoURL: '{{.metadata.annotations.fleet_repo_url}}' targetRevision: '{{.metadata.annotations.fleet_repo_revision}}' ref: values - repoURL: '{{.metadata.annotations.fleet_repo_url}}' path: 'charts/kro-clusters/' targetRevision: '{{.metadata.annotations.fleet_repo_revision}}' helm: releaseName: 'kro-clusters' ignoreMissingValueFiles: true valueFiles: - '$values/{{.metadata.annotations.fleet_repo_basepath}}kro-values/default/kro-clusters/values.yaml' - '$values/{{.metadata.annotations.fleet_repo_basepath}}kro-values/tenants/{{.metadata.labels.tenant}}/kro-clusters/values.yaml' destination: namespace: argocd name: '{{.name}}' syncPolicy: automated: selfHeal: false allowEmpty: true prune: true retry: limit: 100 syncOptions: - CreateNamespace=true - ServerSideApply=true # Big CRDs.