Files
gitops/apps/argocd-config-app.yaml
2026-01-19 00:45:54 +01:00

49 lines
1.7 KiB
YAML

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'