Files
dev-cluster/infrastructure/controllers/velero/release.yaml

86 lines
2.0 KiB
YAML

# /infrastructure/controllers/velero/release.yaml
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: velero
namespace: velero
spec:
interval: 1h
chart:
spec:
chart: velero
version: 8.2.0
sourceRef:
kind: HelmRepository
name: vmware-tanzu
namespace: velero
values:
# Deploy restic daemon set for volume backup
deployRestic: true
# Configuration settings
configuration:
provider: aws
# Configure backup storage location
backupStorageLocation:
name: default
provider: aws
default: true
bucket: ${VELERO_BUCKET}
config:
region: fr-par
s3ForcePathStyle: true
s3Url: https://s3.fr-par.scw.cloud
publicUrl: https://s3.fr-par.scw.cloud
# Use restic for all pod volumes by default
defaultVolumesToRestic: true
# Backup schedules
schedules:
daily-backup:
schedule: "0 2 * * *" # Every day at 2 AM
template:
includedNamespaces:
- forgejo
storageLocation: default
ttl: "168h" # Keep backups for 1 week
includedResources:
- persistentvolumeclaims
- persistentvolumes
labels:
type: scheduled
period: daily
# Resource requests and limits
resources:
requests:
cpu: 200m
memory: 256Mi
limits:
cpu: 1000m
memory: 512Mi
# Credentials from a pre-existing secret
credentials:
existingSecret: velero-s3-credentials
# Configure restic settings
restic:
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 256Mi
# Configure init containers resources
initContainers:
- name: velero-plugin-for-aws
image: velero/velero-plugin-for-aws:v1.11.1
imagePullPolicy: IfNotPresent
volumeMounts:
- mountPath: /target
name: plugins