Skip to content

Commit 828747c

Browse files
committed
migrate to local backups
1 parent e6eef88 commit 828747c

File tree

14 files changed

+191
-44
lines changed

14 files changed

+191
-44
lines changed

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

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -185,10 +185,10 @@ spec:
185185
apiVersion: external-secrets.io/v1
186186
kind: ExternalSecret
187187
metadata:
188-
name: freshrss-postgresql-17-cluster-backup-secret-weekly
188+
name: freshrss-postgresql-17-cluster-backup-secret-garage
189189
namespace: {{ .Release.Namespace }}
190190
labels:
191-
app.kubernetes.io/name: freshrss-postgresql-17-cluster-backup-secret-weekly
191+
app.kubernetes.io/name: freshrss-postgresql-17-cluster-backup-secret-garage
192192
app.kubernetes.io/instance: {{ .Release.Name }}
193193
app.kubernetes.io/part-of: {{ .Release.Name }}
194194
spec:
@@ -210,3 +210,10 @@ spec:
210210
key: /garage/home-infra/postgres-backups
211211
metadataPolicy: None
212212
property: ACCESS_SECRET_KEY
213+
- secretKey: ACCESS_REGION
214+
remoteRef:
215+
conversionStrategy: Default
216+
decodingStrategy: None
217+
key: /garage/home-infra/postgres-backups
218+
metadataPolicy: None
219+
property: ACCESS_REGION

clusters/cl01tl/applications/freshrss/values.yaml

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -207,20 +207,29 @@ postgres-17-cluster:
207207
recovery:
208208
method: objectStore
209209
objectStore:
210-
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/freshrss/freshrss-postgresql-17-cluster
210+
destinationPath: s3://postgres-backups/cl01tl/freshrss/freshrss-postgresql-17-cluster
211+
endpointURL: http://garage-main.garage:3900
211212
index: 1
212213
backup:
213214
objectStore:
214215
- name: external
215216
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/freshrss/freshrss-postgresql-17-cluster
216217
index: 1
217218
retentionPolicy: "2d"
219+
isWALArchiver: false
220+
- name: garage-local
221+
destinationPath: s3://postgres-backups/cl01tl/freshrss/freshrss-postgresql-17-cluster
222+
index: 1
223+
endpointURL: http://garage-main.garage:3900
224+
endpointCredentials: freshrss-postgresql-17-cluster-backup-secret-garage
225+
endpointCredentialsIncludeRegion: true
226+
retentionPolicy: "7d"
218227
isWALArchiver: true
219-
# - name: garage
228+
# - name: garage-remote
220229
# destinationPath: s3://postgres-backups/cl01tl/freshrss/freshrss-postgresql-17-cluster
221230
# index: 1
222231
# endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900
223-
# endpointCredentials: freshrss-postgresql-17-cluster-backup-secret-weekly
232+
# endpointCredentials: freshrss-postgresql-17-cluster-backup-secret-garage
224233
# retentionPolicy: "30d"
225234
# data:
226235
# compression: bzip2
@@ -230,7 +239,12 @@ postgres-17-cluster:
230239
suspend: false
231240
schedule: "0 0 0 * * *"
232241
backupName: external
242+
- name: live-backup
243+
suspend: false
244+
immediate: true
245+
schedule: "0 0 0 * * *"
246+
backupName: garage-local
233247
# - name: weekly-backup
234248
# suspend: false
235249
# schedule: "0 2 4 * * SAT"
236-
# backupName: garage
250+
# backupName: garage-remote

clusters/cl01tl/applications/immich/templates/external-secrets.yaml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,10 @@ spec:
5454
apiVersion: external-secrets.io/v1
5555
kind: ExternalSecret
5656
metadata:
57-
name: immich-postgresql-17-cluster-backup-secret-weekly
57+
name: immich-postgresql-17-cluster-backup-secret-garage
5858
namespace: {{ .Release.Namespace }}
5959
labels:
60-
app.kubernetes.io/name: immich-postgresql-17-cluster-backup-secret-weekly
60+
app.kubernetes.io/name: immich-postgresql-17-cluster-backup-secret-garage
6161
app.kubernetes.io/instance: {{ .Release.Name }}
6262
app.kubernetes.io/part-of: {{ .Release.Name }}
6363
spec:
@@ -79,3 +79,10 @@ spec:
7979
key: /garage/home-infra/postgres-backups
8080
metadataPolicy: None
8181
property: ACCESS_SECRET_KEY
82+
- secretKey: ACCESS_REGION
83+
remoteRef:
84+
conversionStrategy: Default
85+
decodingStrategy: None
86+
key: /garage/home-infra/postgres-backups
87+
metadataPolicy: None
88+
property: ACCESS_REGION

clusters/cl01tl/applications/immich/values.yaml

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -216,20 +216,29 @@ postgres-17-cluster:
216216
recovery:
217217
method: objectStore
218218
objectStore:
219-
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/immich/immich-postgresql-17-cluster
220-
index: 2
219+
destinationPath: s3://postgres-backups/cl01tl/immich/immich-postgresql-17-cluster
220+
endpointURL: http://garage-main.garage:3900
221+
index: 1
221222
backup:
222223
objectStore:
223224
- name: external
224225
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/immich/immich-postgresql-17-cluster
225226
index: 2
226227
retentionPolicy: "2d"
228+
isWALArchiver: false
229+
- name: garage-local
230+
destinationPath: s3://postgres-backups/cl01tl/immich/immich-postgresql-17-cluster
231+
index: 1
232+
endpointURL: http://garage-main.garage:3900
233+
endpointCredentials: immich-postgresql-17-cluster-backup-secret-garage
234+
endpointCredentialsIncludeRegion: true
235+
retentionPolicy: "7d"
227236
isWALArchiver: true
228-
# - name: garage
237+
# - name: garage-remote
229238
# destinationPath: s3://postgres-backups/cl01tl/immich/immich-postgresql-17-cluster
230239
# index: 1
231240
# endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900
232-
# endpointCredentials: immich-postgresql-17-cluster-backup-secret-weekly
241+
# endpointCredentials: immich-postgresql-17-cluster-backup-secret-garage
233242
# retentionPolicy: "30d"
234243
# data:
235244
# compression: bzip2
@@ -239,7 +248,12 @@ postgres-17-cluster:
239248
suspend: false
240249
schedule: "0 0 0 * * *"
241250
backupName: external
251+
- name: live-backup
252+
suspend: false
253+
immediate: true
254+
schedule: "0 0 0 * * *"
255+
backupName: garage-local
242256
# - name: weekly-backup
243257
# suspend: false
244258
# schedule: "0 4 4 * * SAT"
245-
# backupName: garage
259+
# backupName: garage-remote

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

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,10 +125,10 @@ spec:
125125
apiVersion: external-secrets.io/v1
126126
kind: ExternalSecret
127127
metadata:
128-
name: jellystat-postgresql-17-cluster-backup-secret-weekly
128+
name: jellystat-postgresql-17-cluster-backup-secret-garage
129129
namespace: {{ .Release.Namespace }}
130130
labels:
131-
app.kubernetes.io/name: jellystat-postgresql-17-cluster-backup-secret-weekly
131+
app.kubernetes.io/name: jellystat-postgresql-17-cluster-backup-secret-garage
132132
app.kubernetes.io/instance: {{ .Release.Name }}
133133
app.kubernetes.io/part-of: {{ .Release.Name }}
134134
spec:
@@ -150,3 +150,10 @@ spec:
150150
key: /garage/home-infra/postgres-backups
151151
metadataPolicy: None
152152
property: ACCESS_SECRET_KEY
153+
- secretKey: ACCESS_REGION
154+
remoteRef:
155+
conversionStrategy: Default
156+
decodingStrategy: None
157+
key: /garage/home-infra/postgres-backups
158+
metadataPolicy: None
159+
property: ACCESS_REGION

clusters/cl01tl/applications/jellystat/values.yaml

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,20 +92,29 @@ postgres-17-cluster:
9292
recovery:
9393
method: objectStore
9494
objectStore:
95-
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/jellystat/jellystat-postgresql-17-cluster
95+
destinationPath: s3://postgres-backups/cl01tl/jellystat/jellystat-postgresql-17-cluster
96+
endpointURL: http://garage-main.garage:3900
9697
index: 1
9798
backup:
9899
objectStore:
99100
- name: external
100101
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/jellystat/jellystat-postgresql-17-cluster
101102
index: 1
102103
retentionPolicy: "2d"
104+
isWALArchiver: false
105+
- name: garage-local
106+
destinationPath: s3://postgres-backups/cl01tl/jellystat/jellystat-postgresql-17-cluster
107+
index: 1
108+
endpointURL: http://garage-main.garage:3900
109+
endpointCredentials: jellystat-postgresql-17-cluster-backup-secret-garage
110+
endpointCredentialsIncludeRegion: true
111+
retentionPolicy: "7d"
103112
isWALArchiver: true
104-
# - name: garage
113+
# - name: garage-remote
105114
# destinationPath: s3://postgres-backups/cl01tl/jellystat/jellystat-postgresql-17-cluster
106115
# index: 1
107116
# endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900
108-
# endpointCredentials: jellystat-postgresql-17-cluster-backup-secret-weekly
117+
# endpointCredentials: jellystat-postgresql-17-cluster-backup-secret-garage
109118
# retentionPolicy: "30d"
110119
# data:
111120
# compression: bzip2
@@ -115,7 +124,12 @@ postgres-17-cluster:
115124
suspend: false
116125
schedule: "0 0 0 * * *"
117126
backupName: external
127+
- name: live-backup
128+
suspend: false
129+
immediate: true
130+
schedule: "0 0 0 * * *"
131+
backupName: garage-local
118132
# - name: weekly-backup
119133
# suspend: false
120134
# schedule: "0 6 4 * * SAT"
121-
# backupName: garage
135+
# backupName: garage-remote

clusters/cl01tl/applications/lidarr/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: lidarr-postgresql-17-cluster-backup-secret-weekly
91+
name: lidarr-postgresql-17-cluster-backup-secret-garage
9292
namespace: {{ .Release.Namespace }}
9393
labels:
94-
app.kubernetes.io/name: lidarr-postgresql-17-cluster-backup-secret-weekly
94+
app.kubernetes.io/name: lidarr-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/lidarr/values.yaml

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,8 @@ postgres-17-cluster:
106106
recovery:
107107
method: objectStore
108108
objectStore:
109-
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/lidarr2/lidarr2-postgresql-17-cluster
109+
destinationPath: s3://postgres-backups/cl01tl/lidarr/lidarr2-postgresql-17-cluster
110+
endpointURL: http://garage-main.garage:3900
110111
index: 1
111112
endpointCredentials: lidarr-postgresql-17-cluster-backup-secret
112113
backup:
@@ -116,12 +117,20 @@ postgres-17-cluster:
116117
index: 1
117118
endpointCredentials: lidarr-postgresql-17-cluster-backup-secret
118119
retentionPolicy: "1d"
120+
isWALArchiver: false
121+
- name: garage-local
122+
destinationPath: s3://postgres-backups/cl01tl/lidarr/lidarr2-postgresql-17-cluster
123+
index: 1
124+
endpointURL: http://garage-main.garage:3900
125+
endpointCredentials: lidarr-postgresql-17-cluster-backup-secret-garage
126+
endpointCredentialsIncludeRegion: true
127+
retentionPolicy: "7d"
119128
isWALArchiver: true
120-
# - name: garage
129+
# - name: garage-remote
121130
# destinationPath: s3://postgres-backups/cl01tl/lidarr/lidarr2-postgresql-17-cluster
122131
# index: 1
123132
# endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900
124-
# endpointCredentials: lidarr-postgresql-17-cluster-backup-secret-weekly
133+
# endpointCredentials: lidarr-postgresql-17-cluster-backup-secret-garage
125134
# retentionPolicy: "30d"
126135
# data:
127136
# compression: bzip2
@@ -131,7 +140,12 @@ postgres-17-cluster:
131140
suspend: false
132141
schedule: "0 0 */12 * * *"
133142
backupName: external
143+
- name: live-backup
144+
suspend: false
145+
immediate: true
146+
schedule: "0 0 0 * * *"
147+
backupName: garage-local
134148
# - name: weekly-backup
135149
# suspend: false
136150
# schedule: "0 8 4 * * SAT"
137-
# backupName: garage
151+
# backupName: garage-remote

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

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,10 +114,10 @@ spec:
114114
apiVersion: external-secrets.io/v1
115115
kind: ExternalSecret
116116
metadata:
117-
name: outline-postgresql-17-cluster-backup-secret-weekly
117+
name: outline-postgresql-17-cluster-backup-secret-garage
118118
namespace: {{ .Release.Namespace }}
119119
labels:
120-
app.kubernetes.io/name: outline-postgresql-17-cluster-backup-secret-weekly
120+
app.kubernetes.io/name: outline-postgresql-17-cluster-backup-secret-garage
121121
app.kubernetes.io/instance: {{ .Release.Name }}
122122
app.kubernetes.io/part-of: {{ .Release.Name }}
123123
spec:
@@ -139,3 +139,10 @@ spec:
139139
key: /garage/home-infra/postgres-backups
140140
metadataPolicy: None
141141
property: ACCESS_SECRET_KEY
142+
- secretKey: ACCESS_REGION
143+
remoteRef:
144+
conversionStrategy: Default
145+
decodingStrategy: None
146+
key: /garage/home-infra/postgres-backups
147+
metadataPolicy: None
148+
property: ACCESS_REGION

clusters/cl01tl/applications/outline/values.yaml

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -159,20 +159,29 @@ postgres-17-cluster:
159159
recovery:
160160
method: objectStore
161161
objectStore:
162-
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/outline/outline-postgresql-17-cluster
162+
destinationPath: s3://postgres-backups/cl01tl/outline/outline-postgresql-17-cluster
163+
endpointURL: http://garage-main.garage:3900
163164
index: 1
164165
backup:
165166
objectStore:
166167
- name: external
167168
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/outline/outline-postgresql-17-cluster
168169
index: 1
169170
retentionPolicy: "2d"
171+
isWALArchiver: false
172+
- name: garage-local
173+
destinationPath: s3://postgres-backups/cl01tl/outline/outline-postgresql-17-cluster
174+
index: 1
175+
endpointURL: http://garage-main.garage:3900
176+
endpointCredentials: outline-postgresql-17-cluster-backup-secret-garage
177+
endpointCredentialsIncludeRegion: true
178+
retentionPolicy: "7d"
170179
isWALArchiver: true
171-
# - name: garage
180+
# - name: garage-remote
172181
# destinationPath: s3://postgres-backups/cl01tl/outline/outline-postgresql-17-cluster
173182
# index: 1
174183
# endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900
175-
# endpointCredentials: outline-postgresql-17-cluster-backup-secret-weekly
184+
# endpointCredentials: outline-postgresql-17-cluster-backup-secret-garage
176185
# retentionPolicy: "30d"
177186
# data:
178187
# compression: bzip2
@@ -182,7 +191,12 @@ postgres-17-cluster:
182191
suspend: false
183192
schedule: "0 0 0 * * *"
184193
backupName: external
194+
- name: live-backup
195+
suspend: false
196+
immediate: true
197+
schedule: "0 0 0 * * *"
198+
backupName: garage-local
185199
# - name: weekly-backup
186200
# suspend: false
187201
# schedule: "0 10 4 * * SAT"
188-
# backupName: garage
202+
# backupName: garage-remote

0 commit comments

Comments
 (0)