diff --git a/velero/argocd.yaml b/velero/argocd.yaml index df0d29b..6d508fc 100644 --- a/velero/argocd.yaml +++ b/velero/argocd.yaml @@ -7,6 +7,12 @@ metadata: - resources-finalizer.argocd.argoproj.io spec: project: default + # Ignore BackupStorageLocation status changes (updated every 24s by velero) + ignoreDifferences: + - group: velero.io + kind: BackupStorageLocation + jsonPointers: + - /status sources: - repoURL: https://vmware-tanzu.github.io/helm-charts chart: velero @@ -33,6 +39,7 @@ spec: - CreateNamespace=true - PrunePropagationPolicy=foreground - PruneLast=true + - RespectIgnoreDifferences=true retry: limit: 5 backoff: diff --git a/velero/helm-values.yaml b/velero/helm-values.yaml index 287d226..7cbe329 100644 --- a/velero/helm-values.yaml +++ b/velero/helm-values.yaml @@ -1,6 +1,9 @@ # Velero Helm Values # Chart: https://github.com/vmware-tanzu/helm-charts/tree/main/charts/velero +# Skip CRD upgrade job (avoids kubectl image dependency) +upgradeCRDs: false + # Image configuration image: repository: velero/velero @@ -68,6 +71,14 @@ configuration: # Restore only mode (for disaster recovery) restoreOnlyMode: false + # Disable BackupStorageLocation validation (user only uses manual backups) + # This prevents status updates that trigger ArgoCD refreshes + storeValidationFrequency: 0s + + # Disable backup-sync controller (user only uses manual backups) + # This prevents lastSyncedTime updates that trigger ArgoCD refreshes + disableControllers: backup-sync + # Credentials for S3 access (from Vault via External Secrets) credentials: useSecret: true