mirror of
https://github.com/rubenhensen/k8scd.git
synced 2026-11-15 14:29:09 +01:00
91 lines
3.2 KiB
YAML
91 lines
3.2 KiB
YAML
apiVersion: argoproj.io/v1alpha1
|
|
kind: Application
|
|
metadata:
|
|
name: velero-helm
|
|
namespace: argocd
|
|
spec:
|
|
project: default
|
|
source:
|
|
chart: velero
|
|
repoURL: https://vmware-tanzu.github.io/helm-charts
|
|
targetRevision: 12.2.1
|
|
helm:
|
|
values: |
|
|
# Velero builds its repository maintenance jobs from a Deployment
|
|
# named "velero". Under the default name (velero-helm) every
|
|
# maintenance run failed and the kopia repos on the NAS were never
|
|
# cleaned up.
|
|
fullnameOverride: velero
|
|
# No CRD upgrade hook: Argo CD applies the chart's crds/ directory on
|
|
# every sync. (Before chart 12 the hook also pulled
|
|
# docker.io/bitnami/kubectl, which Bitnami removed, and hung.)
|
|
upgradeCRDs: false
|
|
initContainers:
|
|
- name: velero-plugin-for-aws
|
|
image: velero/velero-plugin-for-aws:v1.14.4
|
|
volumeMounts:
|
|
- mountPath: /target
|
|
name: plugins
|
|
configuration:
|
|
# Garage on the NAS (nas/garage). Until 2026-10-25 this was MinIO on
|
|
# the same NAS; the bucket was copied over with rclone, so the
|
|
# existing backups and kopia repositories carried on.
|
|
backupStorageLocation:
|
|
- name: default
|
|
bucket: velero-backups
|
|
provider: aws
|
|
config:
|
|
region: garage
|
|
s3ForcePathStyle: true
|
|
s3Url: http://192.168.1.99:3900
|
|
volumeSnapshotLocation:
|
|
- name: default
|
|
provider: aws
|
|
config:
|
|
region: garage
|
|
features: EnableCSI
|
|
# Kopia maintenance ran every hour for each of the 15 repositories,
|
|
# and once a day as a full run of several minutes that writes its
|
|
# cache to the node's only SSD, which stalls dqlite and makes
|
|
# controllers lose their leases (docs/upgrade-k8s-1.33.md). Daily
|
|
# and throttled instead. Existing BackupRepositories keep their own
|
|
# maintenanceFrequency; they were patched to 24h by hand.
|
|
defaultRepoMaintainFrequency: 24h
|
|
repositoryMaintenanceJob:
|
|
repositoryConfigData:
|
|
global:
|
|
keepLatestMaintenanceJobs: 3
|
|
podResources:
|
|
cpuRequest: 100m
|
|
cpuLimit: 500m
|
|
memoryRequest: 256Mi
|
|
memoryLimit: 2Gi
|
|
credentials:
|
|
# From Vault, velero/external-secret.yaml
|
|
existingSecret: velero-s3-credentials
|
|
deployNodeAgent: true
|
|
nodeAgent:
|
|
containerSecurityContext:
|
|
privileged: true
|
|
resources:
|
|
requests:
|
|
cpu: 10m
|
|
memory: 64Mi
|
|
# 512Mi got the server OOMKilled 314 times, including halfway
|
|
# through a backup of ~14.7k items.
|
|
resources:
|
|
requests:
|
|
cpu: 100m
|
|
memory: 512Mi
|
|
limits:
|
|
cpu: 500m
|
|
memory: 2Gi
|
|
|
|
destination:
|
|
server: https://kubernetes.default.svc
|
|
namespace: velero
|
|
syncPolicy:
|
|
syncOptions:
|
|
- CreateNamespace=true
|
|
automated:
|
|
selfHeal: true |