Skip to content

Commit 95f667f

Browse files
committed
migrate to local backups
1 parent 68e4132 commit 95f667f

File tree

20 files changed

+643
-28
lines changed

20 files changed

+643
-28
lines changed

clusters/cl01tl/management/argo-workflows/values.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,12 +106,13 @@ postgres-17-cluster:
106106
destinationPath: s3://postgres-backups/cl01tl/argo-workflows/argo-workflows-postgresql-17-cluster
107107
endpointURL: http://garage-main.garage:3900
108108
index: 1
109+
endpointCredentials: argo-workflows-postgresql-17-cluster-backup-secret-garage
109110
backup:
110111
objectStore:
111112
- name: external
112113
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/argo-workflows/argo-workflows-postgresql-17-cluster
113114
index: 1
114-
retentionPolicy: "2d"
115+
retentionPolicy: "7d"
115116
isWALArchiver: false
116117
- name: garage-local
117118
destinationPath: s3://postgres-backups/cl01tl/argo-workflows/argo-workflows-postgresql-17-cluster

clusters/cl01tl/management/komodo/templates/external-secret.yaml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,3 +77,40 @@ spec:
7777
key: /digital-ocean/home-infra/postgres-backups
7878
metadataPolicy: None
7979
property: secret
80+
81+
---
82+
apiVersion: external-secrets.io/v1
83+
kind: ExternalSecret
84+
metadata:
85+
name: komodo-postgresql-17-cluster-backup-secret-garage
86+
namespace: {{ .Release.Namespace }}
87+
labels:
88+
app.kubernetes.io/name: komodo-postgresql-17-cluster-backup-secret-garage
89+
app.kubernetes.io/instance: {{ .Release.Name }}
90+
app.kubernetes.io/part-of: {{ .Release.Name }}
91+
spec:
92+
secretStoreRef:
93+
kind: ClusterSecretStore
94+
name: vault
95+
data:
96+
- secretKey: ACCESS_KEY_ID
97+
remoteRef:
98+
conversionStrategy: Default
99+
decodingStrategy: None
100+
key: /garage/home-infra/postgres-backups
101+
metadataPolicy: None
102+
property: ACCESS_KEY_ID
103+
- secretKey: ACCESS_SECRET_KEY
104+
remoteRef:
105+
conversionStrategy: Default
106+
decodingStrategy: None
107+
key: /garage/home-infra/postgres-backups
108+
metadataPolicy: None
109+
property: ACCESS_SECRET_KEY
110+
- secretKey: ACCESS_REGION
111+
remoteRef:
112+
conversionStrategy: Default
113+
decodingStrategy: None
114+
key: /garage/home-infra/postgres-backups
115+
metadataPolicy: None
116+
property: ACCESS_REGION

clusters/cl01tl/management/komodo/values.yaml

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -192,17 +192,45 @@ postgresql-17-fdb-cluster:
192192
recovery:
193193
method: objectStore
194194
objectStore:
195-
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/komodo/komodo-postgresql-17-fdb-cluster
196-
index: 2
195+
destinationPath: s3://postgres-backups/cl01tl/komodo/komodo-postgresql-17-fdb-cluster
196+
endpointURL: http://garage-main.garage:3900
197+
index: 1
198+
endpointCredentials: komodo-postgresql-17-cluster-backup-secret-garage
197199
backup:
198200
objectStore:
199201
- name: external
200202
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/komodo/komodo-postgresql-17-fdb-cluster
201203
index: 2
202-
retentionPolicy: "1d"
204+
retentionPolicy: "7d"
205+
isWALArchiver: false
206+
- name: garage-local
207+
destinationPath: s3://postgres-backups/cl01tl/komodo/komodo-postgresql-17-cluster
208+
index: 1
209+
endpointURL: http://garage-main.garage:3900
210+
endpointCredentials: komodo-postgresql-17-cluster-backup-secret-garage
211+
endpointCredentialsIncludeRegion: true
212+
retentionPolicy: "7d"
203213
isWALArchiver: true
214+
# - name: garage-remote
215+
# destinationPath: s3://postgres-backups/cl01tl/komodo/komodo-postgresql-17-cluster
216+
# index: 1
217+
# endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900
218+
# endpointCredentials: komodo-postgresql-17-cluster-backup-secret-garage
219+
# retentionPolicy: "30d"
220+
# data:
221+
# compression: bzip2
222+
# jobs: 2
204223
scheduledBackups:
205224
- name: daily-backup
206225
suspend: false
207-
schedule: "0 0 */12 * * *"
226+
schedule: "0 0 0 * * *"
208227
backupName: external
228+
- name: live-backup
229+
suspend: false
230+
immediate: true
231+
schedule: "0 0 0 * * *"
232+
backupName: garage-local
233+
# - name: weekly-backup
234+
# suspend: false
235+
# schedule: "0 0 4 * * SAT"
236+
# backupName: garage-remote

clusters/cl01tl/monitoring/gatus/templates/external-secret.yaml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,3 +79,40 @@ spec:
7979
key: /digital-ocean/home-infra/postgres-backups
8080
metadataPolicy: None
8181
property: secret
82+
83+
---
84+
apiVersion: external-secrets.io/v1
85+
kind: ExternalSecret
86+
metadata:
87+
name: gatus-postgresql-17-cluster-backup-secret-garage
88+
namespace: {{ .Release.Namespace }}
89+
labels:
90+
app.kubernetes.io/name: gatus-postgresql-17-cluster-backup-secret-garage
91+
app.kubernetes.io/instance: {{ .Release.Name }}
92+
app.kubernetes.io/part-of: {{ .Release.Name }}
93+
spec:
94+
secretStoreRef:
95+
kind: ClusterSecretStore
96+
name: vault
97+
data:
98+
- secretKey: ACCESS_KEY_ID
99+
remoteRef:
100+
conversionStrategy: Default
101+
decodingStrategy: None
102+
key: /garage/home-infra/postgres-backups
103+
metadataPolicy: None
104+
property: ACCESS_KEY_ID
105+
- secretKey: ACCESS_SECRET_KEY
106+
remoteRef:
107+
conversionStrategy: Default
108+
decodingStrategy: None
109+
key: /garage/home-infra/postgres-backups
110+
metadataPolicy: None
111+
property: ACCESS_SECRET_KEY
112+
- secretKey: ACCESS_REGION
113+
remoteRef:
114+
conversionStrategy: Default
115+
decodingStrategy: None
116+
key: /garage/home-infra/postgres-backups
117+
metadataPolicy: None
118+
property: ACCESS_REGION

clusters/cl01tl/monitoring/gatus/values.yaml

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -385,17 +385,45 @@ postgres-17-cluster:
385385
recovery:
386386
method: objectStore
387387
objectStore:
388-
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/gatus/gatus-postgresql-17-cluster
389-
index: 2
388+
destinationPath: s3://postgres-backups/cl01tl/gatus/gatus-postgresql-17-cluster
389+
endpointURL: http://garage-main.garage:3900
390+
index: 1
391+
endpointCredentials: gatus-postgresql-17-cluster-backup-secret-garage
390392
backup:
391393
objectStore:
392394
- name: external
393395
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/gatus/gatus-postgresql-17-cluster
394396
index: 2
395-
retentionPolicy: "2d"
397+
retentionPolicy: "7d"
398+
isWALArchiver: false
399+
- name: garage-local
400+
destinationPath: s3://postgres-backups/cl01tl/gatus/gatus-postgresql-17-cluster
401+
index: 1
402+
endpointURL: http://garage-main.garage:3900
403+
endpointCredentials: gatus-postgresql-17-cluster-backup-secret-garage
404+
endpointCredentialsIncludeRegion: true
405+
retentionPolicy: "7d"
396406
isWALArchiver: true
407+
# - name: garage-remote
408+
# destinationPath: s3://postgres-backups/cl01tl/gatus/gatus-postgresql-17-cluster
409+
# index: 1
410+
# endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900
411+
# endpointCredentials: gatus-postgresql-17-cluster-backup-secret-garage
412+
# retentionPolicy: "30d"
413+
# data:
414+
# compression: bzip2
415+
# jobs: 2
397416
scheduledBackups:
398417
- name: daily-backup
399418
suspend: false
400419
schedule: "0 0 0 * * *"
401420
backupName: external
421+
- name: live-backup
422+
suspend: false
423+
immediate: true
424+
schedule: "0 0 0 * * *"
425+
backupName: garage-local
426+
# - name: weekly-backup
427+
# suspend: false
428+
# schedule: "0 0 4 * * SAT"
429+
# backupName: garage-remote

clusters/cl01tl/monitoring/grafana-operator/templates/external-secret.yaml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,3 +86,40 @@ spec:
8686
key: /digital-ocean/home-infra/postgres-backups
8787
metadataPolicy: None
8888
property: secret
89+
90+
---
91+
apiVersion: external-secrets.io/v1
92+
kind: ExternalSecret
93+
metadata:
94+
name: grafana-operator-postgresql-17-cluster-backup-secret-garage
95+
namespace: {{ .Release.Namespace }}
96+
labels:
97+
app.kubernetes.io/name: grafana-operator-postgresql-17-cluster-backup-secret-garage
98+
app.kubernetes.io/instance: {{ .Release.Name }}
99+
app.kubernetes.io/part-of: {{ .Release.Name }}
100+
spec:
101+
secretStoreRef:
102+
kind: ClusterSecretStore
103+
name: vault
104+
data:
105+
- secretKey: ACCESS_KEY_ID
106+
remoteRef:
107+
conversionStrategy: Default
108+
decodingStrategy: None
109+
key: /garage/home-infra/postgres-backups
110+
metadataPolicy: None
111+
property: ACCESS_KEY_ID
112+
- secretKey: ACCESS_SECRET_KEY
113+
remoteRef:
114+
conversionStrategy: Default
115+
decodingStrategy: None
116+
key: /garage/home-infra/postgres-backups
117+
metadataPolicy: None
118+
property: ACCESS_SECRET_KEY
119+
- secretKey: ACCESS_REGION
120+
remoteRef:
121+
conversionStrategy: Default
122+
decodingStrategy: None
123+
key: /garage/home-infra/postgres-backups
124+
metadataPolicy: None
125+
property: ACCESS_REGION

clusters/cl01tl/monitoring/grafana-operator/values.yaml

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,45 @@ postgres-17-cluster:
2626
recovery:
2727
method: objectStore
2828
objectStore:
29-
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/grafana-operator/grafana-operator-postgresql-17-cluster
30-
index: 2
29+
destinationPath: s3://postgres-backups/cl01tl/grafana-operator/grafana-operator-postgresql-17-cluster
30+
endpointURL: http://garage-main.garage:3900
31+
index: 1
32+
endpointCredentials: grafana-operator-postgresql-17-cluster-backup-secret-garage
3133
backup:
3234
objectStore:
3335
- name: external
3436
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/grafana-operator/grafana-operator-postgresql-17-cluster
3537
index: 2
36-
retentionPolicy: "2d"
38+
retentionPolicy: "7d"
39+
isWALArchiver: false
40+
- name: garage-local
41+
destinationPath: s3://postgres-backups/cl01tl/grafana-operator/grafana-operator-postgresql-17-cluster
42+
index: 1
43+
endpointURL: http://garage-main.garage:3900
44+
endpointCredentials: grafana-operator-postgresql-17-cluster-backup-secret-garage
45+
endpointCredentialsIncludeRegion: true
46+
retentionPolicy: "7d"
3747
isWALArchiver: true
48+
# - name: garage-remote
49+
# destinationPath: s3://postgres-backups/cl01tl/grafana-operator/grafana-operator-postgresql-17-cluster
50+
# index: 1
51+
# endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900
52+
# endpointCredentials: grafana-operator-postgresql-17-cluster-backup-secret-garage
53+
# retentionPolicy: "30d"
54+
# data:
55+
# compression: bzip2
56+
# jobs: 2
3857
scheduledBackups:
3958
- name: daily-backup
4059
suspend: false
4160
schedule: "0 0 0 * * *"
4261
backupName: external
62+
- name: live-backup
63+
suspend: false
64+
immediate: true
65+
schedule: "0 0 0 * * *"
66+
backupName: garage-local
67+
# - name: weekly-backup
68+
# suspend: false
69+
# schedule: "0 0 4 * * SAT"
70+
# backupName: garage-remote

clusters/cl01tl/platform/authentik/templates/external-secret.yaml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,3 +72,40 @@ spec:
7272
key: /digital-ocean/home-infra/postgres-backups
7373
metadataPolicy: None
7474
property: secret
75+
76+
---
77+
apiVersion: external-secrets.io/v1
78+
kind: ExternalSecret
79+
metadata:
80+
name: authentik-postgresql-17-cluster-backup-secret-garage
81+
namespace: {{ .Release.Namespace }}
82+
labels:
83+
app.kubernetes.io/name: authentik-postgresql-17-cluster-backup-secret-garage
84+
app.kubernetes.io/instance: {{ .Release.Name }}
85+
app.kubernetes.io/part-of: {{ .Release.Name }}
86+
spec:
87+
secretStoreRef:
88+
kind: ClusterSecretStore
89+
name: vault
90+
data:
91+
- secretKey: ACCESS_KEY_ID
92+
remoteRef:
93+
conversionStrategy: Default
94+
decodingStrategy: None
95+
key: /garage/home-infra/postgres-backups
96+
metadataPolicy: None
97+
property: ACCESS_KEY_ID
98+
- secretKey: ACCESS_SECRET_KEY
99+
remoteRef:
100+
conversionStrategy: Default
101+
decodingStrategy: None
102+
key: /garage/home-infra/postgres-backups
103+
metadataPolicy: None
104+
property: ACCESS_SECRET_KEY
105+
- secretKey: ACCESS_REGION
106+
remoteRef:
107+
conversionStrategy: Default
108+
decodingStrategy: None
109+
key: /garage/home-infra/postgres-backups
110+
metadataPolicy: None
111+
property: ACCESS_REGION

clusters/cl01tl/platform/authentik/values.yaml

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,17 +64,45 @@ postgres-17-cluster:
6464
recovery:
6565
method: objectStore
6666
objectStore:
67-
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/authentik/authentik-postgresql-17-cluster
67+
destinationPath: s3://postgres-backups/cl01tl/authentik/authentik-postgresql-17-cluster
68+
endpointURL: http://garage-main.garage:3900
6869
index: 1
70+
endpointCredentials: authentik-postgresql-17-cluster-backup-secret-garage
6971
backup:
7072
objectStore:
7173
- name: external
7274
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/authentik/authentik-postgresql-17-cluster
7375
index: 1
74-
retentionPolicy: "2d"
76+
retentionPolicy: "7d"
77+
isWALArchiver: false
78+
- name: garage-local
79+
destinationPath: s3://postgres-backups/cl01tl/authentik/authentik-postgresql-17-cluster
80+
index: 1
81+
endpointURL: http://garage-main.garage:3900
82+
endpointCredentials: authentik-postgresql-17-cluster-backup-secret-garage
83+
endpointCredentialsIncludeRegion: true
84+
retentionPolicy: "7d"
7585
isWALArchiver: true
86+
# - name: garage-remote
87+
# destinationPath: s3://postgres-backups/cl01tl/authentik/authentik-postgresql-17-cluster
88+
# index: 1
89+
# endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900
90+
# endpointCredentials: authentik-postgresql-17-cluster-backup-secret-garage
91+
# retentionPolicy: "30d"
92+
# data:
93+
# compression: bzip2
94+
# jobs: 2
7695
scheduledBackups:
7796
- name: daily-backup
7897
suspend: false
7998
schedule: "0 0 0 * * *"
8099
backupName: external
100+
- name: live-backup
101+
suspend: false
102+
immediate: true
103+
schedule: "0 0 0 * * *"
104+
backupName: garage-local
105+
# - name: weekly-backup
106+
# suspend: false
107+
# schedule: "0 0 4 * * SAT"
108+
# backupName: garage-remote

0 commit comments

Comments
 (0)