apiVersion: argoproj.io/v1alpha1 kind: ApplicationSet metadata: name: certificates-apps namespace: argocd-ops spec: generators: # Les certificats sont créés UNIQUEMENT dans le cluster OPS # qui a cert-manager installé et accès à Internet pour Let's Encrypt - merge: generators: # Premier générateur : scanne les répertoires Helm pour les certificats - git: repoURL: https://git.gkdomaine.fr/kubernetes/argocd.git revision: main directories: - path: "helm/certificates/*" # Deuxième générateur : lit la config OPS uniquement - git: repoURL: https://git.gkdomaine.fr/kubernetes/argocd.git revision: main files: - path: "configs/ops/config.json" mergeKeys: - path.basename template: metadata: name: 'certificates-{{path.basename}}' spec: project: default source: repoURL: '{{repository}}' targetRevision: '{{targetRevision}}' path: '{{helmPath}}/certificates/{{path.basename}}' destination: # Déploie uniquement sur le cluster OPS name: '{{name}}' namespace: default syncPolicy: automated: prune: true selfHeal: true syncOptions: - CreateNamespace=true