migrate to local backups
This commit is contained in:
		| @@ -106,12 +106,13 @@ postgres-17-cluster: | ||||
|       destinationPath: s3://postgres-backups/cl01tl/argo-workflows/argo-workflows-postgresql-17-cluster | ||||
|       endpointURL: http://garage-main.garage:3900 | ||||
|       index: 1 | ||||
|       endpointCredentials: argo-workflows-postgresql-17-cluster-backup-secret-garage | ||||
|   backup: | ||||
|     objectStore: | ||||
|       - name: external | ||||
|         destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/argo-workflows/argo-workflows-postgresql-17-cluster | ||||
|         index: 1 | ||||
|         retentionPolicy: "2d" | ||||
|         retentionPolicy: "7d" | ||||
|         isWALArchiver: false | ||||
|       - name: garage-local | ||||
|         destinationPath: s3://postgres-backups/cl01tl/argo-workflows/argo-workflows-postgresql-17-cluster | ||||
|   | ||||
| @@ -77,3 +77,40 @@ spec: | ||||
|         key: /digital-ocean/home-infra/postgres-backups | ||||
|         metadataPolicy: None | ||||
|         property: secret | ||||
|  | ||||
| --- | ||||
| apiVersion: external-secrets.io/v1 | ||||
| kind: ExternalSecret | ||||
| metadata: | ||||
|   name: komodo-postgresql-17-cluster-backup-secret-garage | ||||
|   namespace: {{ .Release.Namespace }} | ||||
|   labels: | ||||
|     app.kubernetes.io/name: komodo-postgresql-17-cluster-backup-secret-garage | ||||
|     app.kubernetes.io/instance: {{ .Release.Name }} | ||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} | ||||
| spec: | ||||
|   secretStoreRef: | ||||
|     kind: ClusterSecretStore | ||||
|     name: vault | ||||
|   data: | ||||
|     - secretKey: ACCESS_KEY_ID | ||||
|       remoteRef: | ||||
|         conversionStrategy: Default | ||||
|         decodingStrategy: None | ||||
|         key: /garage/home-infra/postgres-backups | ||||
|         metadataPolicy: None | ||||
|         property: ACCESS_KEY_ID | ||||
|     - secretKey: ACCESS_SECRET_KEY | ||||
|       remoteRef: | ||||
|         conversionStrategy: Default | ||||
|         decodingStrategy: None | ||||
|         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 | ||||
|   | ||||
| @@ -192,17 +192,45 @@ postgresql-17-fdb-cluster: | ||||
|   recovery: | ||||
|     method: objectStore | ||||
|     objectStore: | ||||
|       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/komodo/komodo-postgresql-17-fdb-cluster | ||||
|       index: 2 | ||||
|       destinationPath: s3://postgres-backups/cl01tl/komodo/komodo-postgresql-17-fdb-cluster | ||||
|       endpointURL: http://garage-main.garage:3900 | ||||
|       index: 1 | ||||
|       endpointCredentials: komodo-postgresql-17-cluster-backup-secret-garage | ||||
|   backup: | ||||
|     objectStore: | ||||
|       - name: external | ||||
|         destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/komodo/komodo-postgresql-17-fdb-cluster | ||||
|         index: 2 | ||||
|         retentionPolicy: "1d" | ||||
|         retentionPolicy: "7d" | ||||
|         isWALArchiver: false | ||||
|       - name: garage-local | ||||
|         destinationPath: s3://postgres-backups/cl01tl/komodo/komodo-postgresql-17-cluster | ||||
|         index: 1 | ||||
|         endpointURL: http://garage-main.garage:3900 | ||||
|         endpointCredentials: komodo-postgresql-17-cluster-backup-secret-garage | ||||
|         endpointCredentialsIncludeRegion: true | ||||
|         retentionPolicy: "7d" | ||||
|         isWALArchiver: true | ||||
|       # - name: garage-remote | ||||
|       #   destinationPath: s3://postgres-backups/cl01tl/komodo/komodo-postgresql-17-cluster | ||||
|       #   index: 1 | ||||
|       #   endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900 | ||||
|       #   endpointCredentials: komodo-postgresql-17-cluster-backup-secret-garage | ||||
|       #   retentionPolicy: "30d" | ||||
|       #   data: | ||||
|       #     compression: bzip2 | ||||
|       #     jobs: 2 | ||||
|     scheduledBackups: | ||||
|       - name: daily-backup | ||||
|         suspend: false | ||||
|         schedule: "0 0 */12 * * *" | ||||
|         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 0 4 * * SAT" | ||||
|       #   backupName: garage-remote | ||||
|   | ||||
| @@ -79,3 +79,40 @@ spec: | ||||
|         key: /digital-ocean/home-infra/postgres-backups | ||||
|         metadataPolicy: None | ||||
|         property: secret | ||||
|  | ||||
| --- | ||||
| apiVersion: external-secrets.io/v1 | ||||
| kind: ExternalSecret | ||||
| metadata: | ||||
|   name: gatus-postgresql-17-cluster-backup-secret-garage | ||||
|   namespace: {{ .Release.Namespace }} | ||||
|   labels: | ||||
|     app.kubernetes.io/name: gatus-postgresql-17-cluster-backup-secret-garage | ||||
|     app.kubernetes.io/instance: {{ .Release.Name }} | ||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} | ||||
| spec: | ||||
|   secretStoreRef: | ||||
|     kind: ClusterSecretStore | ||||
|     name: vault | ||||
|   data: | ||||
|     - secretKey: ACCESS_KEY_ID | ||||
|       remoteRef: | ||||
|         conversionStrategy: Default | ||||
|         decodingStrategy: None | ||||
|         key: /garage/home-infra/postgres-backups | ||||
|         metadataPolicy: None | ||||
|         property: ACCESS_KEY_ID | ||||
|     - secretKey: ACCESS_SECRET_KEY | ||||
|       remoteRef: | ||||
|         conversionStrategy: Default | ||||
|         decodingStrategy: None | ||||
|         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 | ||||
|   | ||||
| @@ -385,17 +385,45 @@ postgres-17-cluster: | ||||
|   recovery: | ||||
|     method: objectStore | ||||
|     objectStore: | ||||
|       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/gatus/gatus-postgresql-17-cluster | ||||
|       index: 2 | ||||
|       destinationPath: s3://postgres-backups/cl01tl/gatus/gatus-postgresql-17-cluster | ||||
|       endpointURL: http://garage-main.garage:3900 | ||||
|       index: 1 | ||||
|       endpointCredentials: gatus-postgresql-17-cluster-backup-secret-garage | ||||
|   backup: | ||||
|     objectStore: | ||||
|       - name: external | ||||
|         destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/gatus/gatus-postgresql-17-cluster | ||||
|         index: 2 | ||||
|         retentionPolicy: "2d" | ||||
|         retentionPolicy: "7d" | ||||
|         isWALArchiver: false | ||||
|       - name: garage-local | ||||
|         destinationPath: s3://postgres-backups/cl01tl/gatus/gatus-postgresql-17-cluster | ||||
|         index: 1 | ||||
|         endpointURL: http://garage-main.garage:3900 | ||||
|         endpointCredentials: gatus-postgresql-17-cluster-backup-secret-garage | ||||
|         endpointCredentialsIncludeRegion: true | ||||
|         retentionPolicy: "7d" | ||||
|         isWALArchiver: true | ||||
|       # - name: garage-remote | ||||
|       #   destinationPath: s3://postgres-backups/cl01tl/gatus/gatus-postgresql-17-cluster | ||||
|       #   index: 1 | ||||
|       #   endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900 | ||||
|       #   endpointCredentials: gatus-postgresql-17-cluster-backup-secret-garage | ||||
|       #   retentionPolicy: "30d" | ||||
|       #   data: | ||||
|       #     compression: bzip2 | ||||
|       #     jobs: 2 | ||||
|     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: false | ||||
|       #   schedule: "0 0 4 * * SAT" | ||||
|       #   backupName: garage-remote | ||||
|   | ||||
| @@ -86,3 +86,40 @@ spec: | ||||
|         key: /digital-ocean/home-infra/postgres-backups | ||||
|         metadataPolicy: None | ||||
|         property: secret | ||||
|  | ||||
| --- | ||||
| apiVersion: external-secrets.io/v1 | ||||
| kind: ExternalSecret | ||||
| metadata: | ||||
|   name: grafana-operator-postgresql-17-cluster-backup-secret-garage | ||||
|   namespace: {{ .Release.Namespace }} | ||||
|   labels: | ||||
|     app.kubernetes.io/name: grafana-operator-postgresql-17-cluster-backup-secret-garage | ||||
|     app.kubernetes.io/instance: {{ .Release.Name }} | ||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} | ||||
| spec: | ||||
|   secretStoreRef: | ||||
|     kind: ClusterSecretStore | ||||
|     name: vault | ||||
|   data: | ||||
|     - secretKey: ACCESS_KEY_ID | ||||
|       remoteRef: | ||||
|         conversionStrategy: Default | ||||
|         decodingStrategy: None | ||||
|         key: /garage/home-infra/postgres-backups | ||||
|         metadataPolicy: None | ||||
|         property: ACCESS_KEY_ID | ||||
|     - secretKey: ACCESS_SECRET_KEY | ||||
|       remoteRef: | ||||
|         conversionStrategy: Default | ||||
|         decodingStrategy: None | ||||
|         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 | ||||
|   | ||||
| @@ -26,17 +26,45 @@ postgres-17-cluster: | ||||
|   recovery: | ||||
|     method: objectStore | ||||
|     objectStore: | ||||
|       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/grafana-operator/grafana-operator-postgresql-17-cluster | ||||
|       index: 2 | ||||
|       destinationPath: s3://postgres-backups/cl01tl/grafana-operator/grafana-operator-postgresql-17-cluster | ||||
|       endpointURL: http://garage-main.garage:3900 | ||||
|       index: 1 | ||||
|       endpointCredentials: grafana-operator-postgresql-17-cluster-backup-secret-garage | ||||
|   backup: | ||||
|     objectStore: | ||||
|       - name: external | ||||
|         destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/grafana-operator/grafana-operator-postgresql-17-cluster | ||||
|         index: 2 | ||||
|         retentionPolicy: "2d" | ||||
|         retentionPolicy: "7d" | ||||
|         isWALArchiver: false | ||||
|       - name: garage-local | ||||
|         destinationPath: s3://postgres-backups/cl01tl/grafana-operator/grafana-operator-postgresql-17-cluster | ||||
|         index: 1 | ||||
|         endpointURL: http://garage-main.garage:3900 | ||||
|         endpointCredentials: grafana-operator-postgresql-17-cluster-backup-secret-garage | ||||
|         endpointCredentialsIncludeRegion: true | ||||
|         retentionPolicy: "7d" | ||||
|         isWALArchiver: true | ||||
|       # - name: garage-remote | ||||
|       #   destinationPath: s3://postgres-backups/cl01tl/grafana-operator/grafana-operator-postgresql-17-cluster | ||||
|       #   index: 1 | ||||
|       #   endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900 | ||||
|       #   endpointCredentials: grafana-operator-postgresql-17-cluster-backup-secret-garage | ||||
|       #   retentionPolicy: "30d" | ||||
|       #   data: | ||||
|       #     compression: bzip2 | ||||
|       #     jobs: 2 | ||||
|     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: false | ||||
|       #   schedule: "0 0 4 * * SAT" | ||||
|       #   backupName: garage-remote | ||||
|   | ||||
| @@ -72,3 +72,40 @@ spec: | ||||
|         key: /digital-ocean/home-infra/postgres-backups | ||||
|         metadataPolicy: None | ||||
|         property: secret | ||||
|  | ||||
| --- | ||||
| apiVersion: external-secrets.io/v1 | ||||
| kind: ExternalSecret | ||||
| metadata: | ||||
|   name: authentik-postgresql-17-cluster-backup-secret-garage | ||||
|   namespace: {{ .Release.Namespace }} | ||||
|   labels: | ||||
|     app.kubernetes.io/name: authentik-postgresql-17-cluster-backup-secret-garage | ||||
|     app.kubernetes.io/instance: {{ .Release.Name }} | ||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} | ||||
| spec: | ||||
|   secretStoreRef: | ||||
|     kind: ClusterSecretStore | ||||
|     name: vault | ||||
|   data: | ||||
|     - secretKey: ACCESS_KEY_ID | ||||
|       remoteRef: | ||||
|         conversionStrategy: Default | ||||
|         decodingStrategy: None | ||||
|         key: /garage/home-infra/postgres-backups | ||||
|         metadataPolicy: None | ||||
|         property: ACCESS_KEY_ID | ||||
|     - secretKey: ACCESS_SECRET_KEY | ||||
|       remoteRef: | ||||
|         conversionStrategy: Default | ||||
|         decodingStrategy: None | ||||
|         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 | ||||
|   | ||||
| @@ -64,17 +64,45 @@ postgres-17-cluster: | ||||
|   recovery: | ||||
|     method: objectStore | ||||
|     objectStore: | ||||
|       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/authentik/authentik-postgresql-17-cluster | ||||
|       destinationPath: s3://postgres-backups/cl01tl/authentik/authentik-postgresql-17-cluster | ||||
|       endpointURL: http://garage-main.garage:3900 | ||||
|       index: 1 | ||||
|       endpointCredentials: authentik-postgresql-17-cluster-backup-secret-garage | ||||
|   backup: | ||||
|     objectStore: | ||||
|       - name: external | ||||
|         destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/authentik/authentik-postgresql-17-cluster | ||||
|         index: 1 | ||||
|         retentionPolicy: "2d" | ||||
|         retentionPolicy: "7d" | ||||
|         isWALArchiver: false | ||||
|       - name: garage-local | ||||
|         destinationPath: s3://postgres-backups/cl01tl/authentik/authentik-postgresql-17-cluster | ||||
|         index: 1 | ||||
|         endpointURL: http://garage-main.garage:3900 | ||||
|         endpointCredentials: authentik-postgresql-17-cluster-backup-secret-garage | ||||
|         endpointCredentialsIncludeRegion: true | ||||
|         retentionPolicy: "7d" | ||||
|         isWALArchiver: true | ||||
|       # - name: garage-remote | ||||
|       #   destinationPath: s3://postgres-backups/cl01tl/authentik/authentik-postgresql-17-cluster | ||||
|       #   index: 1 | ||||
|       #   endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900 | ||||
|       #   endpointCredentials: authentik-postgresql-17-cluster-backup-secret-garage | ||||
|       #   retentionPolicy: "30d" | ||||
|       #   data: | ||||
|       #     compression: bzip2 | ||||
|       #     jobs: 2 | ||||
|     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: false | ||||
|       #   schedule: "0 0 4 * * SAT" | ||||
|       #   backupName: garage-remote | ||||
|   | ||||
| @@ -279,3 +279,40 @@ spec: | ||||
|         key: /digital-ocean/home-infra/postgres-backups | ||||
|         metadataPolicy: None | ||||
|         property: secret | ||||
|  | ||||
| --- | ||||
| apiVersion: external-secrets.io/v1 | ||||
| kind: ExternalSecret | ||||
| metadata: | ||||
|   name: gitea-postgresql-17-cluster-backup-secret-garage | ||||
|   namespace: {{ .Release.Namespace }} | ||||
|   labels: | ||||
|     app.kubernetes.io/name: gitea-postgresql-17-cluster-backup-secret-garage | ||||
|     app.kubernetes.io/instance: {{ .Release.Name }} | ||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} | ||||
| spec: | ||||
|   secretStoreRef: | ||||
|     kind: ClusterSecretStore | ||||
|     name: vault | ||||
|   data: | ||||
|     - secretKey: ACCESS_KEY_ID | ||||
|       remoteRef: | ||||
|         conversionStrategy: Default | ||||
|         decodingStrategy: None | ||||
|         key: /garage/home-infra/postgres-backups | ||||
|         metadataPolicy: None | ||||
|         property: ACCESS_KEY_ID | ||||
|     - secretKey: ACCESS_SECRET_KEY | ||||
|       remoteRef: | ||||
|         conversionStrategy: Default | ||||
|         decodingStrategy: None | ||||
|         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 | ||||
|   | ||||
| @@ -334,17 +334,45 @@ postgres-17-cluster: | ||||
|   recovery: | ||||
|     method: objectStore | ||||
|     objectStore: | ||||
|       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/gitea/gitea-postgresql-17-cluster | ||||
|       destinationPath: s3://postgres-backups/cl01tl/gitea/gitea-postgresql-17-cluster | ||||
|       endpointURL: http://garage-main.garage:3900 | ||||
|       index: 1 | ||||
|       endpointCredentials: gitea-postgresql-17-cluster-backup-secret-garage | ||||
|   backup: | ||||
|     objectStore: | ||||
|       - name: external | ||||
|         destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/gitea/gitea-postgresql-17-cluster | ||||
|         index: 1 | ||||
|         retentionPolicy: "2d" | ||||
|         retentionPolicy: "7d" | ||||
|         isWALArchiver: false | ||||
|       - name: garage-local | ||||
|         destinationPath: s3://postgres-backups/cl01tl/gitea/gitea-postgresql-17-cluster | ||||
|         index: 1 | ||||
|         endpointURL: http://garage-main.garage:3900 | ||||
|         endpointCredentials: gitea-postgresql-17-cluster-backup-secret-garage | ||||
|         endpointCredentialsIncludeRegion: true | ||||
|         retentionPolicy: "7d" | ||||
|         isWALArchiver: true | ||||
|       # - name: garage-remote | ||||
|       #   destinationPath: s3://postgres-backups/cl01tl/gitea/gitea-postgresql-17-cluster | ||||
|       #   index: 1 | ||||
|       #   endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900 | ||||
|       #   endpointCredentials: gitea-postgresql-17-cluster-backup-secret-garage | ||||
|       #   retentionPolicy: "30d" | ||||
|       #   data: | ||||
|       #     compression: bzip2 | ||||
|       #     jobs: 2 | ||||
|     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: false | ||||
|       #   schedule: "0 0 4 * * SAT" | ||||
|       #   backupName: garage-remote | ||||
|   | ||||
| @@ -442,3 +442,40 @@ spec: | ||||
|         key: /digital-ocean/home-infra/postgres-backups | ||||
|         metadataPolicy: None | ||||
|         property: secret | ||||
|  | ||||
| --- | ||||
| apiVersion: external-secrets.io/v1 | ||||
| kind: ExternalSecret | ||||
| metadata: | ||||
|   name: matrix-synapse-postgresql-17-cluster-backup-secret-garage | ||||
|   namespace: {{ .Release.Namespace }} | ||||
|   labels: | ||||
|     app.kubernetes.io/name: matrix-synapse-postgresql-17-cluster-backup-secret-garage | ||||
|     app.kubernetes.io/instance: {{ .Release.Name }} | ||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} | ||||
| spec: | ||||
|   secretStoreRef: | ||||
|     kind: ClusterSecretStore | ||||
|     name: vault | ||||
|   data: | ||||
|     - secretKey: ACCESS_KEY_ID | ||||
|       remoteRef: | ||||
|         conversionStrategy: Default | ||||
|         decodingStrategy: None | ||||
|         key: /garage/home-infra/postgres-backups | ||||
|         metadataPolicy: None | ||||
|         property: ACCESS_KEY_ID | ||||
|     - secretKey: ACCESS_SECRET_KEY | ||||
|       remoteRef: | ||||
|         conversionStrategy: Default | ||||
|         decodingStrategy: None | ||||
|         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 | ||||
|   | ||||
| @@ -311,17 +311,45 @@ postgres-17-cluster: | ||||
|   recovery: | ||||
|     method: objectStore | ||||
|     objectStore: | ||||
|       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/matrix-synapse/matrix-synapse-postgresql-17-cluster | ||||
|       index: 2 | ||||
|       destinationPath: s3://postgres-backups/cl01tl/matrix-synapse/matrix-synapse-postgresql-17-cluster | ||||
|       endpointURL: http://garage-main.garage:3900 | ||||
|       index: 1 | ||||
|       endpointCredentials: matrix-synapse-postgresql-17-cluster-backup-secret-garage | ||||
|   backup: | ||||
|     objectStore: | ||||
|       - name: external | ||||
|         destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/matrix-synapse/matrix-synapse-postgresql-17-cluster | ||||
|         index: 2 | ||||
|         retentionPolicy: "2d" | ||||
|         retentionPolicy: "7d" | ||||
|         isWALArchiver: false | ||||
|       - name: garage-local | ||||
|         destinationPath: s3://postgres-backups/cl01tl/matrix-synapse/matrix-synapse-postgresql-17-cluster | ||||
|         index: 1 | ||||
|         endpointURL: http://garage-main.garage:3900 | ||||
|         endpointCredentials: matrix-synapse-postgresql-17-cluster-backup-secret-garage | ||||
|         endpointCredentialsIncludeRegion: true | ||||
|         retentionPolicy: "7d" | ||||
|         isWALArchiver: true | ||||
|       # - name: garage-remote | ||||
|       #   destinationPath: s3://postgres-backups/cl01tl/matrix-synapse/matrix-synapse-postgresql-17-cluster | ||||
|       #   index: 1 | ||||
|       #   endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900 | ||||
|       #   endpointCredentials: matrix-synapse-postgresql-17-cluster-backup-secret-garage | ||||
|       #   retentionPolicy: "30d" | ||||
|       #   data: | ||||
|       #     compression: bzip2 | ||||
|       #     jobs: 2 | ||||
|     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: false | ||||
|       #   schedule: "0 0 4 * * SAT" | ||||
|       #   backupName: garage-remote | ||||
|   | ||||
| @@ -49,3 +49,40 @@ spec: | ||||
|         key: /digital-ocean/home-infra/postgres-backups | ||||
|         metadataPolicy: None | ||||
|         property: secret | ||||
|  | ||||
| --- | ||||
| apiVersion: external-secrets.io/v1 | ||||
| kind: ExternalSecret | ||||
| metadata: | ||||
|   name: n8n-postgresql-17-cluster-backup-secret-garage | ||||
|   namespace: {{ .Release.Namespace }} | ||||
|   labels: | ||||
|     app.kubernetes.io/name: n8n-postgresql-17-cluster-backup-secret-garage | ||||
|     app.kubernetes.io/instance: {{ .Release.Name }} | ||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} | ||||
| spec: | ||||
|   secretStoreRef: | ||||
|     kind: ClusterSecretStore | ||||
|     name: vault | ||||
|   data: | ||||
|     - secretKey: ACCESS_KEY_ID | ||||
|       remoteRef: | ||||
|         conversionStrategy: Default | ||||
|         decodingStrategy: None | ||||
|         key: /garage/home-infra/postgres-backups | ||||
|         metadataPolicy: None | ||||
|         property: ACCESS_KEY_ID | ||||
|     - secretKey: ACCESS_SECRET_KEY | ||||
|       remoteRef: | ||||
|         conversionStrategy: Default | ||||
|         decodingStrategy: None | ||||
|         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 | ||||
|   | ||||
| @@ -327,17 +327,45 @@ postgres-17-cluster: | ||||
|   recovery: | ||||
|     method: objectStore | ||||
|     objectStore: | ||||
|       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/n8n/n8n-postgresql-17-cluster | ||||
|       index: 2 | ||||
|       destinationPath: s3://postgres-backups/cl01tl/n8n/n8n-postgresql-17-cluster | ||||
|       endpointURL: http://garage-main.garage:3900 | ||||
|       index: 1 | ||||
|       endpointCredentials: n8n-postgresql-17-cluster-backup-secret-garage | ||||
|   backup: | ||||
|     objectStore: | ||||
|       - name: external | ||||
|         destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/n8n/n8n-postgresql-17-cluster | ||||
|         index: 2 | ||||
|         retentionPolicy: "2d" | ||||
|         retentionPolicy: "7d" | ||||
|         isWALArchiver: false | ||||
|       - name: garage-local | ||||
|         destinationPath: s3://postgres-backups/cl01tl/n8n/n8n-postgresql-17-cluster | ||||
|         index: 1 | ||||
|         endpointURL: http://garage-main.garage:3900 | ||||
|         endpointCredentials: n8n-postgresql-17-cluster-backup-secret-garage | ||||
|         endpointCredentialsIncludeRegion: true | ||||
|         retentionPolicy: "7d" | ||||
|         isWALArchiver: true | ||||
|       # - name: garage-remote | ||||
|       #   destinationPath: s3://postgres-backups/cl01tl/n8n/n8n-postgresql-17-cluster | ||||
|       #   index: 1 | ||||
|       #   endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900 | ||||
|       #   endpointCredentials: n8n-postgresql-17-cluster-backup-secret-garage | ||||
|       #   retentionPolicy: "30d" | ||||
|       #   data: | ||||
|       #     compression: bzip2 | ||||
|       #     jobs: 2 | ||||
|     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: false | ||||
|       #   schedule: "0 0 4 * * SAT" | ||||
|       #   backupName: garage-remote | ||||
|   | ||||
| @@ -137,3 +137,40 @@ spec: | ||||
|         key: /digital-ocean/home-infra/postgres-backups | ||||
|         metadataPolicy: None | ||||
|         property: secret | ||||
|  | ||||
| --- | ||||
| apiVersion: external-secrets.io/v1 | ||||
| kind: ExternalSecret | ||||
| metadata: | ||||
|   name: ollama-web-postgresql-17-cluster-backup-secret-garage | ||||
|   namespace: {{ .Release.Namespace }} | ||||
|   labels: | ||||
|     app.kubernetes.io/name: ollama-web-postgresql-17-cluster-backup-secret-garage | ||||
|     app.kubernetes.io/instance: {{ .Release.Name }} | ||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} | ||||
| spec: | ||||
|   secretStoreRef: | ||||
|     kind: ClusterSecretStore | ||||
|     name: vault | ||||
|   data: | ||||
|     - secretKey: ACCESS_KEY_ID | ||||
|       remoteRef: | ||||
|         conversionStrategy: Default | ||||
|         decodingStrategy: None | ||||
|         key: /garage/home-infra/postgres-backups | ||||
|         metadataPolicy: None | ||||
|         property: ACCESS_KEY_ID | ||||
|     - secretKey: ACCESS_SECRET_KEY | ||||
|       remoteRef: | ||||
|         conversionStrategy: Default | ||||
|         decodingStrategy: None | ||||
|         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 | ||||
|   | ||||
| @@ -251,17 +251,46 @@ postgres-17-cluster: | ||||
|   recovery: | ||||
|     method: objectStore | ||||
|     objectStore: | ||||
|       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/ollama/ollama-web-postgresql-17-cluster | ||||
|       destinationPath: s3://postgres-backups/cl01tl/ollama/ollama-web-postgresql-17-cluster | ||||
|       endpointURL: http://garage-main.garage:3900 | ||||
|       index: 1 | ||||
|       endpointCredentials: ollama-web-postgresql-17-cluster-backup-secret-garage | ||||
|   backup: | ||||
|     objectStore: | ||||
|       - name: external | ||||
|         destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/ollama/ollama-web-postgresql-17-cluster | ||||
|         index: 1 | ||||
|         retentionPolicy: "2d" | ||||
|         endpointCredentials: ollama-web-postgresql-17-cluster-backup-secret | ||||
|         retentionPolicy: "7d" | ||||
|         isWALArchiver: false | ||||
|       - name: garage-local | ||||
|         destinationPath: s3://postgres-backups/cl01tl/ollama/ollama-web-postgresql-17-cluster | ||||
|         index: 1 | ||||
|         endpointURL: http://garage-main.garage:3900 | ||||
|         endpointCredentials: ollama-web-postgresql-17-cluster-backup-secret-garage | ||||
|         endpointCredentialsIncludeRegion: true | ||||
|         retentionPolicy: "7d" | ||||
|         isWALArchiver: true | ||||
|       # - name: garage-remote | ||||
|       #   destinationPath: s3://postgres-backups/cl01tl/ollama/ollama-web-postgresql-17-cluster | ||||
|       #   index: 1 | ||||
|       #   endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900 | ||||
|       #   endpointCredentials: ollama-web-postgresql-17-cluster-backup-secret-garage | ||||
|       #   retentionPolicy: "30d" | ||||
|       #   data: | ||||
|       #     compression: bzip2 | ||||
|       #     jobs: 2 | ||||
|     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: false | ||||
|       #   schedule: "0 0 4 * * SAT" | ||||
|       #   backupName: garage-remote | ||||
|   | ||||
| @@ -124,3 +124,40 @@ spec: | ||||
|         key: /digital-ocean/home-infra/postgres-backups | ||||
|         metadataPolicy: None | ||||
|         property: secret | ||||
|  | ||||
| --- | ||||
| apiVersion: external-secrets.io/v1 | ||||
| kind: ExternalSecret | ||||
| metadata: | ||||
|   name: stalwart-postgresql-17-cluster-backup-secret-garage | ||||
|   namespace: {{ .Release.Namespace }} | ||||
|   labels: | ||||
|     app.kubernetes.io/name: stalwart-postgresql-17-cluster-backup-secret-garage | ||||
|     app.kubernetes.io/instance: {{ .Release.Name }} | ||||
|     app.kubernetes.io/part-of: {{ .Release.Name }} | ||||
| spec: | ||||
|   secretStoreRef: | ||||
|     kind: ClusterSecretStore | ||||
|     name: vault | ||||
|   data: | ||||
|     - secretKey: ACCESS_KEY_ID | ||||
|       remoteRef: | ||||
|         conversionStrategy: Default | ||||
|         decodingStrategy: None | ||||
|         key: /garage/home-infra/postgres-backups | ||||
|         metadataPolicy: None | ||||
|         property: ACCESS_KEY_ID | ||||
|     - secretKey: ACCESS_SECRET_KEY | ||||
|       remoteRef: | ||||
|         conversionStrategy: Default | ||||
|         decodingStrategy: None | ||||
|         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 | ||||
|   | ||||
| @@ -68,17 +68,45 @@ postgres-17-cluster: | ||||
|   recovery: | ||||
|     method: objectStore | ||||
|     objectStore: | ||||
|       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/stalwart/stalwart-postgresql-17-cluster | ||||
|       destinationPath: s3://postgres-backups/cl01tl/stalwart/stalwart-postgresql-17-cluster | ||||
|       endpointURL: http://garage-main.garage:3900 | ||||
|       index: 1 | ||||
|       endpointCredentials: stalwart-postgresql-17-cluster-backup-secret-garage | ||||
|   backup: | ||||
|     objectStore: | ||||
|       - name: external | ||||
|         destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/stalwart/stalwart-postgresql-17-cluster | ||||
|         index: 1 | ||||
|         retentionPolicy: "2d" | ||||
|         retentionPolicy: "7d" | ||||
|         isWALArchiver: false | ||||
|       - name: garage-local | ||||
|         destinationPath: s3://postgres-backups/cl01tl/stalwart/stalwart-postgresql-17-cluster | ||||
|         index: 1 | ||||
|         endpointURL: http://garage-main.garage:3900 | ||||
|         endpointCredentials: stalwart-postgresql-17-cluster-backup-secret-garage | ||||
|         endpointCredentialsIncludeRegion: true | ||||
|         retentionPolicy: "7d" | ||||
|         isWALArchiver: true | ||||
|       # - name: garage-remote | ||||
|       #   destinationPath: s3://postgres-backups/cl01tl/stalwart/stalwart-postgresql-17-cluster | ||||
|       #   index: 1 | ||||
|       #   endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900 | ||||
|       #   endpointCredentials: stalwart-postgresql-17-cluster-backup-secret-garage | ||||
|       #   retentionPolicy: "30d" | ||||
|       #   data: | ||||
|       #     compression: bzip2 | ||||
|       #     jobs: 2 | ||||
|     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: false | ||||
|       #   schedule: "0 0 4 * * SAT" | ||||
|       #   backupName: garage-remote | ||||
|   | ||||
| @@ -108,17 +108,45 @@ postgres-17-cluster: | ||||
|   recovery: | ||||
|     method: objectStore | ||||
|     objectStore: | ||||
|       destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/harbor/harbor-postgresql-17-cluster | ||||
|       index: 2 | ||||
|       destinationPath: s3://postgres-backups/cl01tl/harbor/harbor-postgresql-17-cluster | ||||
|       endpointURL: http://garage-main.garage:3900 | ||||
|       index: 1 | ||||
|       endpointCredentials: harbor-postgresql-17-cluster-backup-secret-garage | ||||
|   backup: | ||||
|     objectStore: | ||||
|       - name: external | ||||
|         destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/harbor/harbor-postgresql-17-cluster | ||||
|         index: 2 | ||||
|         retentionPolicy: "2d" | ||||
|         retentionPolicy: "7d" | ||||
|         isWALArchiver: false | ||||
|       - name: garage-local | ||||
|         destinationPath: s3://postgres-backups/cl01tl/harbor/harbor-postgresql-17-cluster | ||||
|         index: 1 | ||||
|         endpointURL: http://garage-main.garage:3900 | ||||
|         endpointCredentials: harbor-postgresql-17-cluster-backup-secret-garage | ||||
|         endpointCredentialsIncludeRegion: true | ||||
|         retentionPolicy: "7d" | ||||
|         isWALArchiver: true | ||||
|       # - name: garage-remote | ||||
|       #   destinationPath: s3://postgres-backups/cl01tl/harbor/harbor-postgresql-17-cluster | ||||
|       #   index: 1 | ||||
|       #   endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900 | ||||
|       #   endpointCredentials: harbor-postgresql-17-cluster-backup-secret-garage | ||||
|       #   retentionPolicy: "30d" | ||||
|       #   data: | ||||
|       #     compression: bzip2 | ||||
|       #     jobs: 2 | ||||
|     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: false | ||||
|       #   schedule: "0 0 4 * * SAT" | ||||
|       #   backupName: garage-remote | ||||
|   | ||||
		Reference in New Issue
	
	Block a user