release.yaml (3027B)
1 apiVersion: helm.toolkit.fluxcd.io/v2 2 kind: HelmRelease 3 metadata: 4 name: velero 5 namespace: velero 6 spec: 7 interval: 30m 8 chart: 9 spec: 10 chart: velero 11 version: "12.0.0" 12 sourceRef: 13 kind: HelmRepository 14 name: vmware-tanzu 15 namespace: velero 16 interval: 24h 17 install: 18 crds: CreateReplace 19 remediation: 20 retries: 3 21 upgrade: 22 crds: CreateReplace 23 remediation: 24 retries: 3 25 values: 26 # Kopia node agent DaemonSet — required for file-system backup of hcloud-volumes 27 # (hcloud CSI driver does not support VolumeSnapshots) 28 deployNodeAgent: true 29 30 nodeAgent: 31 resources: 32 requests: 33 cpu: 100m 34 memory: 256Mi 35 limits: 36 cpu: "2" 37 memory: 2Gi 38 39 metrics: 40 enabled: true 41 serviceMonitor: 42 enabled: true 43 additionalLabels: 44 release: prometheus-stack 45 46 configuration: 47 # EnableCSI: built-in since v1.14, enables CSI snapshots for Longhorn volumes 48 features: EnableCSI 49 # Raise API client limits — default 20 QPS / 30 burst causes context deadline exceeded 50 # when listing node-agent pods across many pods concurrently during backup. 51 clientQPS: 100 52 clientBurst: 200 53 # Increase timeout to avoid "exposed PVB is not ready" errors on slow volumes 54 podVolumeOperationTimeout: 60m 55 # Increase CSI snapshot timeout — Longhorn queues snapshot creation behind its 56 # concurrent task limit (5), so with many volumes the default 10m is too short. 57 csiSnapshotTimeout: 30m 58 backupStorageLocation: 59 - name: default 60 provider: aws 61 bucket: mtrnord-talos-velero 62 config: 63 s3Url: https://hel1.your-objectstorage.com 64 region: hel1 65 s3ForcePathStyle: "true" 66 volumeSnapshotLocation: 67 - name: default 68 provider: aws 69 config: 70 region: hel1 71 # Kopia repository maintenance job configuration. 72 # Without resource limits, 30+ concurrent maintenance jobs fill the node's 73 # ephemeral storage, causing DiskPressure → Velero pod eviction → backup failure. 74 repositoryMaintenanceJob: 75 repositoryConfigData: 76 global: 77 keepLatestMaintenanceJobs: 1 78 podResources: 79 cpuRequest: "100m" 80 cpuLimit: "500m" 81 memoryRequest: "128Mi" 82 memoryLimit: "1Gi" 83 # Limit ephemeral storage to prevent DiskPressure on nodes 84 # (30+ concurrent maintenance jobs can fill node's local storage) 85 ephemeralStorageRequest: "200Mi" 86 ephemeralStorageLimit: "2Gi" 87 88 credentials: 89 useSecret: true 90 existingSecret: velero-s3-credentials 91 92 initContainers: 93 - name: velero-plugin-for-aws 94 image: velero/velero-plugin-for-aws:v1.14.0 95 imagePullPolicy: IfNotPresent 96 volumeMounts: 97 - mountPath: /target 98 name: plugins