migrate to local backups
All checks were successful
lint-test-helm / helm-lint (push) Successful in 13s
renovate / renovate (push) Successful in 2m1s

This commit is contained in:
2025-10-29 17:35:09 -05:00
parent e6eef886fd
commit 828747c680
14 changed files with 191 additions and 44 deletions

View File

@@ -185,10 +185,10 @@ spec:
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: freshrss-postgresql-17-cluster-backup-secret-weekly
name: freshrss-postgresql-17-cluster-backup-secret-garage
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: freshrss-postgresql-17-cluster-backup-secret-weekly
app.kubernetes.io/name: freshrss-postgresql-17-cluster-backup-secret-garage
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
@@ -210,3 +210,10 @@ spec:
key: /garage/home-infra/postgres-backups
metadataPolicy: None
property: ACCESS_SECRET_KEY
- secretKey: ACCESS_REGION
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/postgres-backups
metadataPolicy: None
property: ACCESS_REGION

View File

@@ -207,7 +207,8 @@ postgres-17-cluster:
recovery:
method: objectStore
objectStore:
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/freshrss/freshrss-postgresql-17-cluster
destinationPath: s3://postgres-backups/cl01tl/freshrss/freshrss-postgresql-17-cluster
endpointURL: http://garage-main.garage:3900
index: 1
backup:
objectStore:
@@ -215,12 +216,20 @@ postgres-17-cluster:
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/freshrss/freshrss-postgresql-17-cluster
index: 1
retentionPolicy: "2d"
isWALArchiver: false
- name: garage-local
destinationPath: s3://postgres-backups/cl01tl/freshrss/freshrss-postgresql-17-cluster
index: 1
endpointURL: http://garage-main.garage:3900
endpointCredentials: freshrss-postgresql-17-cluster-backup-secret-garage
endpointCredentialsIncludeRegion: true
retentionPolicy: "7d"
isWALArchiver: true
# - name: garage
# - name: garage-remote
# destinationPath: s3://postgres-backups/cl01tl/freshrss/freshrss-postgresql-17-cluster
# index: 1
# endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900
# endpointCredentials: freshrss-postgresql-17-cluster-backup-secret-weekly
# endpointCredentials: freshrss-postgresql-17-cluster-backup-secret-garage
# retentionPolicy: "30d"
# data:
# compression: bzip2
@@ -230,7 +239,12 @@ postgres-17-cluster:
suspend: false
schedule: "0 0 0 * * *"
backupName: external
- name: live-backup
suspend: false
immediate: true
schedule: "0 0 0 * * *"
backupName: garage-local
# - name: weekly-backup
# suspend: false
# schedule: "0 2 4 * * SAT"
# backupName: garage
# backupName: garage-remote

View File

@@ -54,10 +54,10 @@ spec:
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: immich-postgresql-17-cluster-backup-secret-weekly
name: immich-postgresql-17-cluster-backup-secret-garage
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: immich-postgresql-17-cluster-backup-secret-weekly
app.kubernetes.io/name: immich-postgresql-17-cluster-backup-secret-garage
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
@@ -79,3 +79,10 @@ spec:
key: /garage/home-infra/postgres-backups
metadataPolicy: None
property: ACCESS_SECRET_KEY
- secretKey: ACCESS_REGION
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/postgres-backups
metadataPolicy: None
property: ACCESS_REGION

View File

@@ -216,20 +216,29 @@ postgres-17-cluster:
recovery:
method: objectStore
objectStore:
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/immich/immich-postgresql-17-cluster
index: 2
destinationPath: s3://postgres-backups/cl01tl/immich/immich-postgresql-17-cluster
endpointURL: http://garage-main.garage:3900
index: 1
backup:
objectStore:
- name: external
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/immich/immich-postgresql-17-cluster
index: 2
retentionPolicy: "2d"
isWALArchiver: false
- name: garage-local
destinationPath: s3://postgres-backups/cl01tl/immich/immich-postgresql-17-cluster
index: 1
endpointURL: http://garage-main.garage:3900
endpointCredentials: immich-postgresql-17-cluster-backup-secret-garage
endpointCredentialsIncludeRegion: true
retentionPolicy: "7d"
isWALArchiver: true
# - name: garage
# - name: garage-remote
# destinationPath: s3://postgres-backups/cl01tl/immich/immich-postgresql-17-cluster
# index: 1
# endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900
# endpointCredentials: immich-postgresql-17-cluster-backup-secret-weekly
# endpointCredentials: immich-postgresql-17-cluster-backup-secret-garage
# retentionPolicy: "30d"
# data:
# compression: bzip2
@@ -239,7 +248,12 @@ postgres-17-cluster:
suspend: false
schedule: "0 0 0 * * *"
backupName: external
- name: live-backup
suspend: false
immediate: true
schedule: "0 0 0 * * *"
backupName: garage-local
# - name: weekly-backup
# suspend: false
# schedule: "0 4 4 * * SAT"
# backupName: garage
# backupName: garage-remote

View File

@@ -125,10 +125,10 @@ spec:
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: jellystat-postgresql-17-cluster-backup-secret-weekly
name: jellystat-postgresql-17-cluster-backup-secret-garage
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: jellystat-postgresql-17-cluster-backup-secret-weekly
app.kubernetes.io/name: jellystat-postgresql-17-cluster-backup-secret-garage
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
@@ -150,3 +150,10 @@ spec:
key: /garage/home-infra/postgres-backups
metadataPolicy: None
property: ACCESS_SECRET_KEY
- secretKey: ACCESS_REGION
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/postgres-backups
metadataPolicy: None
property: ACCESS_REGION

View File

@@ -92,7 +92,8 @@ postgres-17-cluster:
recovery:
method: objectStore
objectStore:
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/jellystat/jellystat-postgresql-17-cluster
destinationPath: s3://postgres-backups/cl01tl/jellystat/jellystat-postgresql-17-cluster
endpointURL: http://garage-main.garage:3900
index: 1
backup:
objectStore:
@@ -100,12 +101,20 @@ postgres-17-cluster:
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/jellystat/jellystat-postgresql-17-cluster
index: 1
retentionPolicy: "2d"
isWALArchiver: false
- name: garage-local
destinationPath: s3://postgres-backups/cl01tl/jellystat/jellystat-postgresql-17-cluster
index: 1
endpointURL: http://garage-main.garage:3900
endpointCredentials: jellystat-postgresql-17-cluster-backup-secret-garage
endpointCredentialsIncludeRegion: true
retentionPolicy: "7d"
isWALArchiver: true
# - name: garage
# - name: garage-remote
# destinationPath: s3://postgres-backups/cl01tl/jellystat/jellystat-postgresql-17-cluster
# index: 1
# endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900
# endpointCredentials: jellystat-postgresql-17-cluster-backup-secret-weekly
# endpointCredentials: jellystat-postgresql-17-cluster-backup-secret-garage
# retentionPolicy: "30d"
# data:
# compression: bzip2
@@ -115,7 +124,12 @@ postgres-17-cluster:
suspend: false
schedule: "0 0 0 * * *"
backupName: external
- name: live-backup
suspend: false
immediate: true
schedule: "0 0 0 * * *"
backupName: garage-local
# - name: weekly-backup
# suspend: false
# schedule: "0 6 4 * * SAT"
# backupName: garage
# backupName: garage-remote

View File

@@ -88,10 +88,10 @@ spec:
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: lidarr-postgresql-17-cluster-backup-secret-weekly
name: lidarr-postgresql-17-cluster-backup-secret-garage
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: lidarr-postgresql-17-cluster-backup-secret-weekly
app.kubernetes.io/name: lidarr-postgresql-17-cluster-backup-secret-garage
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
@@ -113,3 +113,10 @@ spec:
key: /garage/home-infra/postgres-backups
metadataPolicy: None
property: ACCESS_SECRET_KEY
- secretKey: ACCESS_REGION
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/postgres-backups
metadataPolicy: None
property: ACCESS_REGION

View File

@@ -106,7 +106,8 @@ postgres-17-cluster:
recovery:
method: objectStore
objectStore:
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/lidarr2/lidarr2-postgresql-17-cluster
destinationPath: s3://postgres-backups/cl01tl/lidarr/lidarr2-postgresql-17-cluster
endpointURL: http://garage-main.garage:3900
index: 1
endpointCredentials: lidarr-postgresql-17-cluster-backup-secret
backup:
@@ -116,12 +117,20 @@ postgres-17-cluster:
index: 1
endpointCredentials: lidarr-postgresql-17-cluster-backup-secret
retentionPolicy: "1d"
isWALArchiver: false
- name: garage-local
destinationPath: s3://postgres-backups/cl01tl/lidarr/lidarr2-postgresql-17-cluster
index: 1
endpointURL: http://garage-main.garage:3900
endpointCredentials: lidarr-postgresql-17-cluster-backup-secret-garage
endpointCredentialsIncludeRegion: true
retentionPolicy: "7d"
isWALArchiver: true
# - name: garage
# - name: garage-remote
# destinationPath: s3://postgres-backups/cl01tl/lidarr/lidarr2-postgresql-17-cluster
# index: 1
# endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900
# endpointCredentials: lidarr-postgresql-17-cluster-backup-secret-weekly
# endpointCredentials: lidarr-postgresql-17-cluster-backup-secret-garage
# retentionPolicy: "30d"
# data:
# compression: bzip2
@@ -131,7 +140,12 @@ postgres-17-cluster:
suspend: false
schedule: "0 0 */12 * * *"
backupName: external
- name: live-backup
suspend: false
immediate: true
schedule: "0 0 0 * * *"
backupName: garage-local
# - name: weekly-backup
# suspend: false
# schedule: "0 8 4 * * SAT"
# backupName: garage
# backupName: garage-remote

View File

@@ -114,10 +114,10 @@ spec:
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: outline-postgresql-17-cluster-backup-secret-weekly
name: outline-postgresql-17-cluster-backup-secret-garage
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: outline-postgresql-17-cluster-backup-secret-weekly
app.kubernetes.io/name: outline-postgresql-17-cluster-backup-secret-garage
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
@@ -139,3 +139,10 @@ spec:
key: /garage/home-infra/postgres-backups
metadataPolicy: None
property: ACCESS_SECRET_KEY
- secretKey: ACCESS_REGION
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/postgres-backups
metadataPolicy: None
property: ACCESS_REGION

View File

@@ -159,7 +159,8 @@ postgres-17-cluster:
recovery:
method: objectStore
objectStore:
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/outline/outline-postgresql-17-cluster
destinationPath: s3://postgres-backups/cl01tl/outline/outline-postgresql-17-cluster
endpointURL: http://garage-main.garage:3900
index: 1
backup:
objectStore:
@@ -167,12 +168,20 @@ postgres-17-cluster:
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/outline/outline-postgresql-17-cluster
index: 1
retentionPolicy: "2d"
isWALArchiver: false
- name: garage-local
destinationPath: s3://postgres-backups/cl01tl/outline/outline-postgresql-17-cluster
index: 1
endpointURL: http://garage-main.garage:3900
endpointCredentials: outline-postgresql-17-cluster-backup-secret-garage
endpointCredentialsIncludeRegion: true
retentionPolicy: "7d"
isWALArchiver: true
# - name: garage
# - name: garage-remote
# destinationPath: s3://postgres-backups/cl01tl/outline/outline-postgresql-17-cluster
# index: 1
# endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900
# endpointCredentials: outline-postgresql-17-cluster-backup-secret-weekly
# endpointCredentials: outline-postgresql-17-cluster-backup-secret-garage
# retentionPolicy: "30d"
# data:
# compression: bzip2
@@ -182,7 +191,12 @@ postgres-17-cluster:
suspend: false
schedule: "0 0 0 * * *"
backupName: external
- name: live-backup
suspend: false
immediate: true
schedule: "0 0 0 * * *"
backupName: garage-local
# - name: weekly-backup
# suspend: false
# schedule: "0 10 4 * * SAT"
# backupName: garage
# backupName: garage-remote

View File

@@ -31,10 +31,10 @@ spec:
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: photoview-postgresql-17-cluster-backup-secret-weekly
name: photoview-postgresql-17-cluster-backup-secret-garage
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: photoview-postgresql-17-cluster-backup-secret-weekly
app.kubernetes.io/name: photoview-postgresql-17-cluster-backup-secret-garage
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
@@ -56,3 +56,10 @@ spec:
key: /garage/home-infra/postgres-backups
metadataPolicy: None
property: ACCESS_SECRET_KEY
- secretKey: ACCESS_REGION
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/postgres-backups
metadataPolicy: None
property: ACCESS_REGION

View File

@@ -86,7 +86,8 @@ postgres-17-cluster:
recovery:
method: objectStore
objectStore:
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/photoview/photoview-postgresql-17-cluster
destinationPath: s3://postgres-backups/cl01tl/photoview/photoview-postgresql-17-cluster
endpointURL: http://garage-main.garage:3900
index: 1
backup:
objectStore:
@@ -94,12 +95,20 @@ postgres-17-cluster:
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/photoview/photoview-postgresql-17-cluster
index: 1
retentionPolicy: "2d"
isWALArchiver: false
- name: garage-local
destinationPath: s3://postgres-backups/cl01tl/photoview/photoview-postgresql-17-cluster
index: 1
endpointURL: http://garage-main.garage:3900
endpointCredentials: photoview-postgresql-17-cluster-backup-secret-garage
endpointCredentialsIncludeRegion: true
retentionPolicy: "7d"
isWALArchiver: true
# - name: garage
# - name: garage-remote
# destinationPath: s3://postgres-backups/cl01tl/photoview/photoview-postgresql-17-cluster
# index: 1
# endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900
# endpointCredentials: photoview-postgresql-17-cluster-backup-secret-weekly
# endpointCredentials: photoview-postgresql-17-cluster-backup-secret-garage
# retentionPolicy: "30d"
# data:
# compression: bzip2
@@ -109,7 +118,12 @@ postgres-17-cluster:
suspend: false
schedule: "0 0 0 * * *"
backupName: external
- name: live-backup
suspend: false
immediate: true
schedule: "0 0 0 * * *"
backupName: garage-local
# - name: weekly-backup
# suspend: false
# schedule: "0 12 4 * * SAT"
# backupName: garage
# backupName: garage-remote

View File

@@ -258,10 +258,10 @@ spec:
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: postiz-postgresql-17-cluster-backup-secret-weekly
name: postiz-postgresql-17-cluster-backup-secret-garage
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: postiz-postgresql-17-cluster-backup-secret-weekly
app.kubernetes.io/name: postiz-postgresql-17-cluster-backup-secret-garage
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
@@ -283,3 +283,10 @@ spec:
key: /garage/home-infra/postgres-backups
metadataPolicy: None
property: ACCESS_SECRET_KEY
- secretKey: ACCESS_REGION
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/postgres-backups
metadataPolicy: None
property: ACCESS_REGION

View File

@@ -119,20 +119,29 @@ postgres-17-cluster:
recovery:
method: objectStore
objectStore:
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/postiz/postiz-postgresql-17-cluster
index: 2
destinationPath: s3://postgres-backups/cl01tl/postiz/postiz-postgresql-17-cluster
endpointURL: http://garage-main.garage:3900
index: 1
backup:
objectStore:
- name: external
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/postiz/postiz-postgresql-17-cluster
index: 2
retentionPolicy: "2d"
isWALArchiver: false
- name: garage-local
destinationPath: s3://postgres-backups/cl01tl/postiz/postiz-postgresql-17-cluster
index: 1
endpointURL: http://garage-main.garage:3900
endpointCredentials: postiz-postgresql-17-cluster-backup-secret-garage
endpointCredentialsIncludeRegion: true
retentionPolicy: "7d"
isWALArchiver: true
# - name: garage
# - name: garage-remote
# destinationPath: s3://postgres-backups/cl01tl/postiz/postiz-postgresql-17-cluster
# index: 1
# endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900
# endpointCredentials: postiz-postgresql-17-cluster-backup-secret-weekly
# endpointCredentials: postiz-postgresql-17-cluster-backup-secret-garage
# retentionPolicy: "30d"
# data:
# compression: bzip2
@@ -142,7 +151,12 @@ postgres-17-cluster:
suspend: false
schedule: "0 0 0 * * *"
backupName: external
- name: live-backup
suspend: false
immediate: true
schedule: "0 0 0 * * *"
backupName: garage-local
# - name: weekly-backup
# suspend: false
# schedule: "0 14 4 * * SAT"
# backupName: garage
# backupName: garage-remote