apiVersion: argoproj.io/v1alpha1 kind: ApplicationSet metadata: name: tls-secrets-sync namespace: argocd-ops spec: generators: # Génère une application pour chaque secret TLS à synchroniser # depuis OPS vers les clusters DEV, RCT, PRD - list: elements: # Homarr DEV : synchroniser depuis OPS vers DEV - app: homarr env: dev secretName: homarr-dev-tls sourceNamespace: certificates-ops sourceCluster: cluster-ops targetNamespace: homarr-dev targetCluster: cluster-dev template: metadata: name: 'tls-secret-sync-{{app}}-{{env}}' spec: project: default source: repoURL: https://git.gkdomaine.fr/kubernetes/argocd.git targetRevision: main path: helm/tls-secrets-sync/ops helm: valueFiles: - values.yaml values: | app: {{app}} env: {{env}} secretName: {{secretName}} sourceNamespace: {{sourceNamespace}} sourceCluster: {{sourceCluster}} targetNamespace: {{targetNamespace}} targetCluster: {{targetCluster}} destination: # Les Jobs de synchronisation s'exécutent dans OPS name: '{{sourceCluster}}' namespace: '{{sourceNamespace}}' syncPolicy: automated: prune: true selfHeal: true syncOptions: - CreateNamespace=true