Improve backups

This commit is contained in:
Grant 2025-03-22 21:58:11 -06:00
parent bcaeafa455
commit b6edc128ad
6 changed files with 67 additions and 5 deletions

View File

@ -185,8 +185,12 @@ releases:
namespace: k8up
createNamespace: true
chart: k8up-io/k8up
# backups
- name: k8up-backup
values:
- ./k8up/values.yaml
# backups
- name: ghost-backup
namespace: ghost
chart: ./k8up-backup
createNamespace: true
@ -212,7 +216,6 @@ releases:
value: {{ requiredEnv "HETZNER_S3_ACCESS_SECRET" }}
- name: repoPassword
value: {{ requiredEnv "k8UP_REPO_PASSWORD" }}
- name: gitea-backup
namespace: gitea
chart: ./k8up-backup
@ -226,4 +229,16 @@ releases:
value: {{ requiredEnv "HETZNER_S3_ACCESS_SECRET" }}
- name: repoPassword
value: {{ requiredEnv "k8UP_REPO_PASSWORD" }}
- name: immich-backup
namespace: immich
chart: ./k8up-backup
createNamespace: true
values:
- ./k8up-backup/values_override.yaml
setString:
- name: credentials.id
value: {{ requiredEnv "HETZNER_S3_ACCESS_KEY" }}
- name: credentials.key
value: {{ requiredEnv "HETZNER_S3_ACCESS_SECRET" }}
- name: repoPassword
value: {{ requiredEnv "k8UP_REPO_PASSWORD" }}

View File

@ -12,15 +12,19 @@ immich:
persistence:
library:
existingClaim: immich-data
redis:
enabled: true
master:
persistence:
annotations:
k8up.io/backup: 'false'
resources:
requests:
cpu: 10m
limits:
cpu: 1
server:
ingress:
main:

View File

@ -1,3 +1,5 @@
# {{- if .Values.oneTimeBackup }}
apiVersion: k8up.io/v1
kind: Backup
metadata:
@ -18,3 +20,4 @@ spec:
secretAccessKeySecretRef:
name: "{{ .Release.Name }}-credentials"
key: key
# {{- end }}

View File

@ -0,0 +1,35 @@
# {{- if not .Values.oneTimeBackup }}
apiVersion: k8up.io/v1
kind: Schedule
metadata:
name: "{{ .Release.Name }}-schedule"
spec:
backend:
repoPasswordSecretRef:
name: "{{ .Release.Name }}-repopassword"
key: password
s3:
endpoint: "{{ .Values.endpoint }}"
bucket: "{{ .Values.bucket }}"
accessKeyIDSecretRef:
name: "{{ .Release.Name }}-credentials"
key: id
secretAccessKeySecretRef:
name: "{{ .Release.Name }}-credentials"
key: key
backup:
schedule: '@hourly-random'
failedJobsHistoryLimit: 2
successfulJobsHistoryLimit: 2
# optional
#promURL: https://prometheus-io-instance:8443
check:
schedule: '@daily-random'
# optional
#promURL: https://prometheus-io-instance:8443
prune:
schedule: '@weekly-ramdom'
retention:
keepLast: 5
keep Daily: 14
# {{- end }}

View File

@ -5,3 +5,4 @@
# id:
# key:
oneTimeBackup: false

View File

@ -0,0 +1,4 @@
k8up:
envVars:
- name: BACKUP_GLOBAL_CONCURRENT_BACKUP_JOBS_LIMIT
values: 1