diff --git a/clusters/cl01tl/helm/argo-workflows/Chart.yaml b/clusters/cl01tl/helm/argo-workflows/Chart.yaml index 63297861c..d6c6dfcdc 100644 --- a/clusters/cl01tl/helm/argo-workflows/Chart.yaml +++ b/clusters/cl01tl/helm/argo-workflows/Chart.yaml @@ -27,5 +27,9 @@ dependencies: alias: postgres-17-cluster version: 6.16.1 repository: oci://harbor.alexlebens.net/helm-charts + - name: postgres-cluster + alias: postgres-18-cluster + version: 6.16.1 + repository: oci://harbor.alexlebens.net/helm-charts icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/argo-cd.png appVersion: v3.6.7 diff --git a/clusters/cl01tl/helm/argo-workflows/values.yaml b/clusters/cl01tl/helm/argo-workflows/values.yaml index 29a700952..7202ad415 100644 --- a/clusters/cl01tl/helm/argo-workflows/values.yaml +++ b/clusters/cl01tl/helm/argo-workflows/values.yaml @@ -145,3 +145,75 @@ postgres-17-cluster: # suspend: true # schedule: "0 0 4 * * SAT" # backupName: garage-remote +postgres-18-cluster: + mode: recovery + cluster: + image: + repository: ghcr.io/cloudnative-pg/postgresql + tag: 18.1-standard-trixie + storage: + storageClass: local-path + walStorage: + storageClass: local-path + monitoring: + enabled: true + prometheusRule: + enabled: true + recovery: + method: import + # objectStore: + # destinationPath: s3://postgres-backups/cl01tl/argo-workflows/argo-workflows-postgresql-18-cluster + # endpointURL: http://garage-main.garage:3900 + # index: 1 + # endpointCredentials: argo-workflows-postgresql-18-cluster-backup-secret-garage + import: + type: microservice + databases: + - app + source: + host: argo-workflows-postgresql-17-cluster-rw + port: 5432 + username: app + database: app + sslMode: "verify-full" + passwordSecret: + name: argo-workflows-postgresql-17-cluster-app + key: password + backup: + objectStore: + - name: external + destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/argo-workflows/argo-workflows-postgresql-18-cluster + index: 1 + retentionPolicy: "30d" + isWALArchiver: false + - name: garage-local + destinationPath: s3://postgres-backups/cl01tl/argo-workflows/argo-workflows-postgresql-18-cluster + index: 1 + endpointURL: http://garage-main.garage:3900 + endpointCredentials: argo-workflows-postgresql-18-cluster-backup-secret-garage + endpointCredentialsIncludeRegion: true + retentionPolicy: "3d" + isWALArchiver: true + # - name: garage-remote + # destinationPath: s3://postgres-backups/cl01tl/argo-workflows/argo-workflows-postgresql-18-cluster + # index: 1 + # endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900 + # endpointCredentials: argo-workflows-postgresql-18-cluster-backup-secret-garage + # endpointCredentialsIncludeRegion: true + # retentionPolicy: "30d" + # data: + # compression: bzip2 + scheduledBackups: + - name: daily-backup + 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: true + # schedule: "0 0 4 * * SAT" + # backupName: garage-remote