diff --git a/app/matrix/homeserver.yaml b/app/matrix/homeserver.yaml index 15530531..0f230649 100644 --- a/app/matrix/homeserver.yaml +++ b/app/matrix/homeserver.yaml @@ -31,7 +31,7 @@ database: user: "synapse" password: "{{ POSTGRES_PASSWORD }}" database: "synapse" - host: "postgres" + host: "waw3-postgres" port: "5432" cp_min: 5 cp_max: 10 diff --git a/app/matrix/prod.jsonnet b/app/matrix/prod.jsonnet index f2f29cb6..732b76cb 100644 --- a/app/matrix/prod.jsonnet +++ b/app/matrix/prod.jsonnet @@ -15,6 +15,7 @@ local postgres = import "../../kube/postgres.libsonnet"; domain: "matrix.hackerspace.pl", serverName: "hackerspace.pl", storageClassName: "waw-hdd-paranoid-2", + storageClassName3: "waw-hdd-redundant-3", synapseImage: "matrixdotorg/synapse:v1.17.0", riotImage: "vectorim/riot-web:v1.7.1", @@ -33,21 +34,23 @@ local postgres = import "../../kube/postgres.libsonnet"; namespace: kube.Namespace(cfg.namespace), - postgres: postgres { + postgres3: postgres { cfg+: { namespace: cfg.namespace, appName: "synapse", database: "synapse", username: "synapse", + prefix: "waw3-", password: { secretKeyRef: { name: "synapse", key: "postgres_password" } }, - storageClassName: cfg.storageClassName, + storageClassName: cfg.storageClassName3, + storageSize: "100Gi", }, }, - dataVolume: kube.PersistentVolumeClaim("synapse-data") { + dataVolume: kube.PersistentVolumeClaim("synapse-data-waw3") { metadata+: app.metadata("synapse-data"), spec+: { - storageClassName: cfg.storageClassName, + storageClassName: cfg.storageClassName3, accessModes: [ "ReadWriteOnce" ], resources: { requests: { diff --git a/kube/postgres.libsonnet b/kube/postgres.libsonnet index 8208662e..e89e9db5 100644 --- a/kube/postgres.libsonnet +++ b/kube/postgres.libsonnet @@ -16,6 +16,8 @@ local kube = import "kube.libsonnet"; username: error "username must be set", # not literal, instead ref for env (like { secretKeyRef: ... }) password: error "password must be set", + + storageSize: "30Gi", }, makeName(suffix):: cfg.prefix + suffix, @@ -36,7 +38,7 @@ local kube = import "kube.libsonnet"; accessModes: [ "ReadWriteOnce" ], resources: { requests: { - storage: "30Gi", + storage: cfg.storageSize, }, }, }, @@ -74,6 +76,7 @@ local kube = import "kube.libsonnet"; }, }, }, + svc: kube.Service(postgres.makeName("postgres")) { metadata+: postgres.metadata, target_pod:: postgres.deployment.spec.template,