Skip to content

Commit d7ade8f

Browse files
committed
migrate to local backups
1 parent d1d6e22 commit d7ade8f

File tree

12 files changed

+170
-41
lines changed

12 files changed

+170
-41
lines changed

clusters/cl01tl/applications/roundcube/templates/external-secret.yaml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,10 +111,10 @@ spec:
111111
apiVersion: external-secrets.io/v1
112112
kind: ExternalSecret
113113
metadata:
114-
name: roundcube-postgresql-17-cluster-backup-secret-weekly
114+
name: roundcube-postgresql-17-cluster-backup-secret-garage
115115
namespace: {{ .Release.Namespace }}
116116
labels:
117-
app.kubernetes.io/name: roundcube-postgresql-17-cluster-backup-secret-weekly
117+
app.kubernetes.io/name: roundcube-postgresql-17-cluster-backup-secret-garage
118118
app.kubernetes.io/instance: {{ .Release.Name }}
119119
app.kubernetes.io/part-of: {{ .Release.Name }}
120120
spec:
@@ -136,3 +136,10 @@ spec:
136136
key: /garage/home-infra/postgres-backups
137137
metadataPolicy: None
138138
property: ACCESS_SECRET_KEY
139+
- secretKey: ACCESS_REGION
140+
remoteRef:
141+
conversionStrategy: Default
142+
decodingStrategy: None
143+
key: /garage/home-infra/postgres-backups
144+
metadataPolicy: None
145+
property: ACCESS_REGION

clusters/cl01tl/applications/roundcube/values.yaml

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -219,20 +219,30 @@ postgres-17-cluster:
219219
recovery:
220220
method: objectStore
221221
objectStore:
222-
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/roundcube/roundcube-postgresql-17-cluster
223-
index: 2
222+
destinationPath: s3://postgres-backups/cl01tl/roundcube/roundcube-postgresql-17-cluster
223+
endpointURL: http://garage-main.garage:3900
224+
index: 1
225+
endpointCredentials: roundcube-postgresql-17-cluster-backup-secret-garage
224226
backup:
225227
objectStore:
226228
- name: external
227229
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/roundcube/roundcube-postgresql-17-cluster
228230
index: 2
229231
retentionPolicy: "2d"
232+
isWALArchiver: false
233+
- name: garage-local
234+
destinationPath: s3://postgres-backups/cl01tl/roundcube/roundcube-postgresql-17-cluster
235+
index: 1
236+
endpointURL: http://garage-main.garage:3900
237+
endpointCredentials: roundcube-postgresql-17-cluster-backup-secret-garage
238+
endpointCredentialsIncludeRegion: true
239+
retentionPolicy: "7d"
230240
isWALArchiver: true
231-
# - name: garage
241+
# - name: garage-remote
232242
# destinationPath: s3://postgres-backups/cl01tl/roundcube/roundcube-postgresql-17-cluster
233243
# index: 1
234244
# endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900
235-
# endpointCredentials: roundcube-postgresql-17-cluster-backup-secret-weekly
245+
# endpointCredentials: roundcube-postgresql-17-cluster-backup-secret-garage
236246
# retentionPolicy: "30d"
237247
# data:
238248
# compression: bzip2
@@ -242,7 +252,12 @@ postgres-17-cluster:
242252
suspend: false
243253
schedule: "0 0 0 * * *"
244254
backupName: external
255+
- name: live-backup
256+
suspend: false
257+
immediate: true
258+
schedule: "0 0 0 * * *"
259+
backupName: garage-local
245260
# - name: weekly-backup
246261
# suspend: false
247262
# schedule: "0 24 4 * * SAT"
248-
# backupName: garage
263+
# backupName: garage-remote

clusters/cl01tl/applications/sonarr-4k/templates/external-secret.yaml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,10 @@ spec:
8888
apiVersion: external-secrets.io/v1
8989
kind: ExternalSecret
9090
metadata:
91-
name: sonarr-4k-postgresql-17-cluster-backup-secret-weekly
91+
name: sonarr-4k-postgresql-17-cluster-backup-secret-garage
9292
namespace: {{ .Release.Namespace }}
9393
labels:
94-
app.kubernetes.io/name: sonarr-4k-postgresql-17-cluster-backup-secret-weekly
94+
app.kubernetes.io/name: sonarr-4k-postgresql-17-cluster-backup-secret-garage
9595
app.kubernetes.io/instance: {{ .Release.Name }}
9696
app.kubernetes.io/part-of: {{ .Release.Name }}
9797
spec:
@@ -113,3 +113,10 @@ spec:
113113
key: /garage/home-infra/postgres-backups
114114
metadataPolicy: None
115115
property: ACCESS_SECRET_KEY
116+
- secretKey: ACCESS_REGION
117+
remoteRef:
118+
conversionStrategy: Default
119+
decodingStrategy: None
120+
key: /garage/home-infra/postgres-backups
121+
metadataPolicy: None
122+
property: ACCESS_REGION

clusters/cl01tl/applications/sonarr-4k/values.yaml

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -103,22 +103,31 @@ postgres-17-cluster:
103103
recovery:
104104
method: objectStore
105105
objectStore:
106-
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/sonarr4-4k/sonarr4-4k-postgresql-17-cluster
106+
destinationPath: s3://postgres-backups/cl01tl/sonarr-4k/sonarr4-4k-postgresql-17-cluster
107+
endpointURL: http://garage-main.garage:3900
107108
index: 1
108-
endpointCredentials: sonarr-4k-postgresql-17-cluster-backup-secret
109+
endpointCredentials: sonarr-4k-postgresql-17-cluster-backup-secret-garage
109110
backup:
110111
objectStore:
111112
- name: external
112113
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/sonarr4-4k/sonarr4-4k-postgresql-17-cluster
113114
index: 1
114115
endpointCredentials: sonarr-4k-postgresql-17-cluster-backup-secret
115116
retentionPolicy: "2d"
117+
isWALArchiver: false
118+
- name: garage-local
119+
destinationPath: s3://postgres-backups/cl01tl/sonarr-4k/sonarr4-4k-postgresql-17-cluster
120+
index: 1
121+
endpointURL: http://garage-main.garage:3900
122+
endpointCredentials: sonarr-4k-postgresql-17-cluster-backup-secret-garage
123+
endpointCredentialsIncludeRegion: true
124+
retentionPolicy: "7d"
116125
isWALArchiver: true
117-
# - name: garage
126+
# - name: garage-remote
118127
# destinationPath: s3://postgres-backups/cl01tl/sonarr-4k/sonarr4-4k-postgresql-17-cluster
119128
# index: 1
120129
# endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900
121-
# endpointCredentials: sonarr-4k-postgresql-17-cluster-backup-secret-weekly
130+
# endpointCredentials: sonarr-4k-postgresql-17-cluster-backup-secret-garage
122131
# retentionPolicy: "30d"
123132
# data:
124133
# compression: bzip2
@@ -128,7 +137,12 @@ postgres-17-cluster:
128137
suspend: false
129138
schedule: "0 0 0 * * *"
130139
backupName: external
140+
- name: live-backup
141+
suspend: false
142+
immediate: true
143+
schedule: "0 0 0 * * *"
144+
backupName: garage-local
131145
# - name: weekly-backup
132146
# suspend: false
133147
# schedule: "0 28 4 * * SAT"
134-
# backupName: garage
148+
# backupName: garage-remote

clusters/cl01tl/applications/sonarr-anime/templates/external-secret.yaml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,10 @@ spec:
8888
apiVersion: external-secrets.io/v1
8989
kind: ExternalSecret
9090
metadata:
91-
name: sonarr-anime-postgresql-17-cluster-backup-secret-weekly
91+
name: sonarr-anime-postgresql-17-cluster-backup-secret-garage
9292
namespace: {{ .Release.Namespace }}
9393
labels:
94-
app.kubernetes.io/name: sonarr-anime-postgresql-17-cluster-backup-secret-weekly
94+
app.kubernetes.io/name: sonarr-anime-postgresql-17-cluster-backup-secret-garage
9595
app.kubernetes.io/instance: {{ .Release.Name }}
9696
app.kubernetes.io/part-of: {{ .Release.Name }}
9797
spec:
@@ -113,3 +113,10 @@ spec:
113113
key: /garage/home-infra/postgres-backups
114114
metadataPolicy: None
115115
property: ACCESS_SECRET_KEY
116+
- secretKey: ACCESS_REGION
117+
remoteRef:
118+
conversionStrategy: Default
119+
decodingStrategy: None
120+
key: /garage/home-infra/postgres-backups
121+
metadataPolicy: None
122+
property: ACCESS_REGION

clusters/cl01tl/applications/sonarr-anime/values.yaml

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -103,22 +103,31 @@ postgres-17-cluster:
103103
recovery:
104104
method: objectStore
105105
objectStore:
106-
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/sonarr4-anime/sonarr4-anime-postgresql-17-cluster
106+
destinationPath: s3://postgres-backups/cl01tl/sonarr-anime/sonarr4-anime-postgresql-17-cluster
107+
endpointURL: http://garage-main.garage:3900
107108
index: 1
108-
endpointCredentials: sonarr-anime-postgresql-17-cluster-backup-secret
109+
endpointCredentials: sonarr-anime-postgresql-17-cluster-backup-secret-garage
109110
backup:
110111
objectStore:
111112
- name: external
112113
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/sonarr4-anime/sonarr4-anime-postgresql-17-cluster
113114
index: 1
114115
endpointCredentials: sonarr-anime-postgresql-17-cluster-backup-secret
115116
retentionPolicy: "2d"
117+
isWALArchiver: false
118+
- name: garage-local
119+
destinationPath: s3://postgres-backups/cl01tl/sonarr-anime/sonarr4-anime-postgresql-17-cluster
120+
index: 1
121+
endpointURL: http://garage-main.garage:3900
122+
endpointCredentials: sonarr-anime-postgresql-17-cluster-backup-secret-garage
123+
endpointCredentialsIncludeRegion: true
124+
retentionPolicy: "7d"
116125
isWALArchiver: true
117-
# - name: garage
126+
# - name: garage-remote
118127
# destinationPath: s3://postgres-backups/cl01tl/sonarr-anime/sonarr4-anime-postgresql-17-cluster
119128
# index: 1
120129
# endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900
121-
# endpointCredentials: sonarr-anime-postgresql-17-cluster-backup-secret-weekly
130+
# endpointCredentials: sonarr-anime-postgresql-17-cluster-backup-secret-garage
122131
# retentionPolicy: "30d"
123132
# data:
124133
# compression: bzip2
@@ -128,7 +137,12 @@ postgres-17-cluster:
128137
suspend: false
129138
schedule: "0 0 0 * * *"
130139
backupName: external
140+
- name: live-backup
141+
suspend: false
142+
immediate: true
143+
schedule: "0 0 0 * * *"
144+
backupName: garage-local
131145
# - name: weekly-backup
132146
# suspend: false
133147
# schedule: "0 30 4 * * SAT"
134-
# backupName: garage
148+
# backupName: garage-remote

clusters/cl01tl/applications/sonarr/templates/external-secret.yaml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,10 @@ spec:
8888
apiVersion: external-secrets.io/v1
8989
kind: ExternalSecret
9090
metadata:
91-
name: sonarr-postgresql-17-cluster-backup-secret-weekly
91+
name: sonarr-postgresql-17-cluster-backup-secret-garage
9292
namespace: {{ .Release.Namespace }}
9393
labels:
94-
app.kubernetes.io/name: sonarr-postgresql-17-cluster-backup-secret-weekly
94+
app.kubernetes.io/name: sonarr-postgresql-17-cluster-backup-secret-garage
9595
app.kubernetes.io/instance: {{ .Release.Name }}
9696
app.kubernetes.io/part-of: {{ .Release.Name }}
9797
spec:
@@ -113,3 +113,10 @@ spec:
113113
key: /garage/home-infra/postgres-backups
114114
metadataPolicy: None
115115
property: ACCESS_SECRET_KEY
116+
- secretKey: ACCESS_REGION
117+
remoteRef:
118+
conversionStrategy: Default
119+
decodingStrategy: None
120+
key: /garage/home-infra/postgres-backups
121+
metadataPolicy: None
122+
property: ACCESS_REGION

clusters/cl01tl/applications/sonarr/values.yaml

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -104,22 +104,31 @@ postgres-17-cluster:
104104
recovery:
105105
method: objectStore
106106
objectStore:
107-
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/sonarr4/sonarr4-postgresql-17-cluster
107+
destinationPath: s3://postgres-backups/cl01tl/sonarr/sonarr4-postgresql-17-cluster
108+
endpointURL: http://garage-main.garage:3900
108109
index: 1
109-
endpointCredentials: sonarr-postgresql-17-cluster-backup-secret
110+
endpointCredentials: sonarr-postgresql-17-cluster-backup-secret-garage
110111
backup:
111112
objectStore:
112113
- name: external
113114
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/sonarr4/sonarr4-postgresql-17-cluster
114115
index: 1
115116
endpointCredentials: sonarr-postgresql-17-cluster-backup-secret
116117
retentionPolicy: "1d"
118+
isWALArchiver: false
119+
- name: garage-local
120+
destinationPath: s3://postgres-backups/cl01tl/sonarr/sonarr4-postgresql-17-cluster
121+
index: 1
122+
endpointURL: http://garage-main.garage:3900
123+
endpointCredentials: sonarr-postgresql-17-cluster-backup-secret-garage
124+
endpointCredentialsIncludeRegion: true
125+
retentionPolicy: "7d"
117126
isWALArchiver: true
118-
# - name: garage
127+
# - name: garage-remote
119128
# destinationPath: s3://postgres-backups/cl01tl/sonarr/sonarr4-postgresql-17-cluster
120129
# index: 1
121130
# endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900
122-
# endpointCredentials: sonarr-postgresql-17-cluster-backup-secret-weekly
131+
# endpointCredentials: sonarr-postgresql-17-cluster-backup-secret-garage
123132
# retentionPolicy: "30d"
124133
# data:
125134
# compression: bzip2
@@ -129,7 +138,12 @@ postgres-17-cluster:
129138
suspend: false
130139
schedule: "0 0 */12 * * *"
131140
backupName: external
141+
- name: live-backup
142+
suspend: false
143+
immediate: true
144+
schedule: "0 0 0 * * *"
145+
backupName: garage-local
132146
# - name: weekly-backup
133147
# suspend: false
134148
# schedule: "0 26 4 * * SAT"
135-
# backupName: garage
149+
# backupName: garage-remote

clusters/cl01tl/applications/vaultwarden/templates/external-secret.yaml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,10 +111,10 @@ spec:
111111
apiVersion: external-secrets.io/v1
112112
kind: ExternalSecret
113113
metadata:
114-
name: vaultwarden-postgresql-17-cluster-backup-secret-weekly
114+
name: vaultwarden-postgresql-17-cluster-backup-secret-garage
115115
namespace: {{ .Release.Namespace }}
116116
labels:
117-
app.kubernetes.io/name: vaultwarden-postgresql-17-cluster-backup-secret-weekly
117+
app.kubernetes.io/name: vaultwarden-postgresql-17-cluster-backup-secret-garage
118118
app.kubernetes.io/instance: {{ .Release.Name }}
119119
app.kubernetes.io/part-of: {{ .Release.Name }}
120120
spec:
@@ -136,3 +136,10 @@ spec:
136136
key: /garage/home-infra/postgres-backups
137137
metadataPolicy: None
138138
property: ACCESS_SECRET_KEY
139+
- secretKey: ACCESS_REGION
140+
remoteRef:
141+
conversionStrategy: Default
142+
decodingStrategy: None
143+
key: /garage/home-infra/postgres-backups
144+
metadataPolicy: None
145+
property: ACCESS_REGION

clusters/cl01tl/applications/vaultwarden/values.yaml

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,20 +63,30 @@ postgres-17-cluster:
6363
recovery:
6464
method: objectStore
6565
objectStore:
66-
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/vaultwarden/vaultwarden-postgresql-17-cluster
66+
destinationPath: s3://postgres-backups/cl01tl/vaultwarden/vaultwarden-postgresql-17-cluster
67+
endpointURL: http://garage-main.garage:3900
6768
index: 1
69+
endpointCredentials: vaultwarden-postgresql-17-cluster-backup-secret-garage
6870
backup:
6971
objectStore:
7072
- name: external
7173
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/vaultwarden/vaultwarden-postgresql-17-cluster
7274
index: 1
7375
retentionPolicy: "2d"
76+
isWALArchiver: false
77+
- name: garage-local
78+
destinationPath: s3://postgres-backups/cl01tl/vaultwarden/vaultwarden-postgresql-17-cluster
79+
index: 1
80+
endpointURL: http://garage-main.garage:3900
81+
endpointCredentials: vaultwarden-postgresql-17-cluster-backup-secret-garage
82+
endpointCredentialsIncludeRegion: true
83+
retentionPolicy: "7d"
7484
isWALArchiver: true
75-
# - name: garage
85+
# - name: garage-remote
7686
# destinationPath: s3://postgres-backups/cl01tl/vaultwarden/vaultwarden-postgresql-17-cluster
7787
# index: 1
7888
# endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900
79-
# endpointCredentials: vaultwarden-postgresql-17-cluster-backup-secret-weekly
89+
# endpointCredentials: vaultwarden-postgresql-17-cluster-backup-secret-garage
8090
# retentionPolicy: "30d"
8191
# data:
8292
# compression: bzip2
@@ -86,7 +96,12 @@ postgres-17-cluster:
8696
suspend: false
8797
schedule: "0 0 0 * * *"
8898
backupName: external
99+
- name: live-backup
100+
suspend: false
101+
immediate: true
102+
schedule: "0 0 0 * * *"
103+
backupName: garage-local
89104
# - name: weekly-backup
90105
# suspend: false
91106
# schedule: "0 32 4 * * SAT"
92-
# backupName: garage
107+
# backupName: garage-remote

0 commit comments

Comments
 (0)