apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: argocd-config namespace: argocd spec: project: default source: repoURL: https://git.cloud-infra.prod.openmailserver.de/stabify/gitops.git targetRevision: HEAD path: apps/argocd-config destination: server: https://kubernetes.default.svc namespace: argocd syncPolicy: automated: prune: false # Safety: Don't delete ArgoCD resources not managed by this app selfHeal: true syncOptions: - CreateNamespace=true # WICHTIG: ServerSideApply für Patches - ServerSideApply=true # Ignore ArgoCD-generierte Secrets (werden dynamisch erstellt) - RespectIgnoreDifferences=true ignoreDifferences: # Ignoriere argocd-secret (wird von External Secrets dynamisch aktualisiert) # ExternalSecret argocd-dex-secret-source schreibt in argocd-secret - group: "" kind: Secret name: argocd-secret namespace: argocd # Ignoriere data-Feld (wird von External Secrets dynamisch aktualisiert) jsonPointers: - /data # Ignoriere ExternalSecret Status und Default-Felder (wird von External Secrets Controller verwaltet) - group: external-secrets.io kind: ExternalSecret name: argocd-dex-secret-source namespace: argocd # Ignoriere Status-Feld und Default-Felder in data (wird von External Secrets Controller verwaltet) jsonPointers: - /status - /metadata/annotations - /metadata/labels # Ignoriere Default-Felder in data Array (werden vom Controller hinzugefügt) jqPathExpressions: - '.spec.data[].remoteRef.conversionStrategy' - '.spec.data[].remoteRef.decodingStrategy' - '.spec.data[].remoteRef.metadataPolicy'