diff --git a/clusters/cl01tl/manifests/matrix-synapse/Cluster-matrix-synapse-postgresql-18-cluster.yaml b/clusters/cl01tl/manifests/matrix-synapse/Cluster-matrix-synapse-postgresql-18-cluster.yaml index f1d80db3a..6df52c3b5 100644 --- a/clusters/cl01tl/manifests/matrix-synapse/Cluster-matrix-synapse-postgresql-18-cluster.yaml +++ b/clusters/cl01tl/manifests/matrix-synapse/Cluster-matrix-synapse-postgresql-18-cluster.yaml @@ -29,6 +29,13 @@ spec: parameters: barmanObjectName: "matrix-synapse-postgresql-18-garage-local-backup" serverName: "matrix-synapse-postgresql-18-backup-1" + externalClusters: + - name: recovery + plugin: + name: barman-cloud.cloudnative-pg.io + parameters: + barmanObjectName: "matrix-synapse-postgresql-18-recovery" + serverName: matrix-synapse-postgresql-18-backup-1 storage: size: 10Gi storageClass: local-path @@ -58,22 +65,15 @@ spec: enablePodMonitor: true disableDefaultQueries: false bootstrap: - initdb: - import: - source: - externalCluster: importSource - type: microservice - databases: - - app - schemaOnly: false + recovery: + database: app + source: matrix-synapse-postgresql-18-backup-1 externalClusters: - - name: importSource - connectionParameters: - host: "matrix-synapse-postgresql-17-cluster-rw" - port: "5432" - user: "app" - dbname: "app" - sslmode: "disable" - password: - name: matrix-synapse-postgresql-17-cluster-app - key: password + - name: matrix-synapse-postgresql-18-backup-1 + plugin: + name: barman-cloud.cloudnative-pg.io + enabled: true + isWALArchiver: false + parameters: + barmanObjectName: "matrix-synapse-postgresql-18-recovery" + serverName: matrix-synapse-postgresql-18-backup-1 diff --git a/clusters/cl01tl/manifests/matrix-synapse/Deployment-matrix-synapse.yaml b/clusters/cl01tl/manifests/matrix-synapse/Deployment-matrix-synapse.yaml index 75162b426..698f325ec 100644 --- a/clusters/cl01tl/manifests/matrix-synapse/Deployment-matrix-synapse.yaml +++ b/clusters/cl01tl/manifests/matrix-synapse/Deployment-matrix-synapse.yaml @@ -22,7 +22,7 @@ spec: metadata: annotations: checksum/config: 1308bd8794657ac11a15c811b223bae716e991d1ce02a54ef5f7bd1f614a93ee - checksum/secrets: a94fda9e7e5dfb5e402bac0203b24103fb1bf890b9c7192e43a691f3c68b62bd + checksum/secrets: 77c25644da166bfcea38f650cda8968f95f472cde7bd328de2f211ded12b73d0 labels: app.kubernetes.io/name: matrix-synapse app.kubernetes.io/instance: matrix-synapse @@ -66,7 +66,7 @@ spec: - name: POSTGRES_PASSWORD valueFrom: secretKeyRef: - name: matrix-synapse-postgresql-17-cluster-app + name: matrix-synapse-postgresql-18-cluster-app key: password - name: REDIS_PASSWORD valueFrom: diff --git a/clusters/cl01tl/manifests/matrix-synapse/ObjectStore-matrix-synapse-postgresql-18-recovery.yaml b/clusters/cl01tl/manifests/matrix-synapse/ObjectStore-matrix-synapse-postgresql-18-recovery.yaml new file mode 100644 index 000000000..0420aed32 --- /dev/null +++ b/clusters/cl01tl/manifests/matrix-synapse/ObjectStore-matrix-synapse-postgresql-18-recovery.yaml @@ -0,0 +1,29 @@ +apiVersion: barmancloud.cnpg.io/v1 +kind: ObjectStore +metadata: + name: "matrix-synapse-postgresql-18-recovery" + namespace: matrix-synapse + labels: + helm.sh/chart: postgres-18-cluster-6.16.1 + app.kubernetes.io/name: matrix-synapse-postgresql-18 + app.kubernetes.io/instance: matrix-synapse + app.kubernetes.io/part-of: matrix-synapse + app.kubernetes.io/version: "6.16.1" + app.kubernetes.io/managed-by: Helm +spec: + configuration: + destinationPath: s3://postgres-backups/cl01tl/matrix-synapse/matrix-synapse-postgresql-18-cluster + endpointURL: http://garage-main.garage:3900 + wal: + compression: snappy + maxParallel: 1 + data: + compression: snappy + jobs: 1 + s3Credentials: + accessKeyId: + name: matrix-synapse-postgresql-18-cluster-backup-secret-garage + key: ACCESS_KEY_ID + secretAccessKey: + name: matrix-synapse-postgresql-18-cluster-backup-secret-garage + key: ACCESS_SECRET_KEY diff --git a/clusters/cl01tl/manifests/matrix-synapse/Secret-matrix-synapse.yaml b/clusters/cl01tl/manifests/matrix-synapse/Secret-matrix-synapse.yaml index 633817f81..87bd5551c 100644 --- a/clusters/cl01tl/manifests/matrix-synapse/Secret-matrix-synapse.yaml +++ b/clusters/cl01tl/manifests/matrix-synapse/Secret-matrix-synapse.yaml @@ -9,4 +9,4 @@ metadata: app.kubernetes.io/version: "1.144.0" app.kubernetes.io/managed-by: Helm stringData: - config.yaml: "## Registration ##\n\nregistration_shared_secret: \"5LcQ21kbikYeRbuVrIC4SsGR\"\n\n## API Configuration ##\n\n## Database configuration ##\n\ndatabase:\n name: \"psycopg2\"\n args:\n user: \"app\"\n password: \"@@POSTGRES_PASSWORD@@\"\n database: \"app\"\n host: \"matrix-synapse-postgresql-17-cluster-rw\"\n port: 5432\n sslmode: \"prefer\"\n cp_min: 5\n cp_max: 10\n \n\n## Redis configuration ##\n\nredis:\n enabled: true\n host: \"redis-replication-matrix-synapse-master\"\n port: 6379\n password: \"@@REDIS_PASSWORD@@\"\n" + config.yaml: "## Registration ##\n\nregistration_shared_secret: \"default\"\n\n## API Configuration ##\n\n## Database configuration ##\n\ndatabase:\n name: \"psycopg2\"\n args:\n user: \"app\"\n password: \"@@POSTGRES_PASSWORD@@\"\n database: \"app\"\n host: \"matrix-synapse-postgresql-18-cluster-rw\"\n port: 5432\n sslmode: \"prefer\"\n cp_min: 5\n cp_max: 10\n \n\n## Redis configuration ##\n\nredis:\n enabled: true\n host: \"redis-replication-matrix-synapse-master\"\n port: 6379\n password: \"@@REDIS_PASSWORD@@\"\n"