From 89c5a0df8d11b8f9a01e6dc700e39dc38478c482 Mon Sep 17 00:00:00 2001 From: James Andariese Date: Thu, 27 Apr 2023 19:35:37 -0500 Subject: [PATCH] add matrix server --- matrix/db.yaml | 30 ++++++++++++++++++++ matrix/deployment.yaml | 62 ++++++++++++++++++++++++++++++++++++++++++ matrix/init.sql | 19 +++++++++++++ matrix/ns.yaml | 4 +++ matrix/service.yaml | 16 +++++++++++ 5 files changed, 131 insertions(+) create mode 100644 matrix/db.yaml create mode 100644 matrix/deployment.yaml create mode 100644 matrix/init.sql create mode 100644 matrix/ns.yaml create mode 100644 matrix/service.yaml diff --git a/matrix/db.yaml b/matrix/db.yaml new file mode 100644 index 0000000..db26f8d --- /dev/null +++ b/matrix/db.yaml @@ -0,0 +1,30 @@ +apiVersion: postgres-operator.crunchydata.com/v1beta1 +kind: PostgresCluster +metadata: + name: synapse-werts-db + namespace: synapse +spec: + image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-14.6-2 + postgresVersion: 14 + instances: + - replicas: 1 + dataVolumeClaimSpec: + accessModes: + - "ReadWriteOnce" + resources: + requests: + storage: 50Gi + storageClassName: ssd + backups: + pgbackrest: + image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.41-2 + repos: + - name: repo1 + volume: + volumeClaimSpec: + accessModes: + - "ReadWriteMany" + resources: + requests: + storage: 100Gi + storageClassName: nfs diff --git a/matrix/deployment.yaml b/matrix/deployment.yaml new file mode 100644 index 0000000..184f243 --- /dev/null +++ b/matrix/deployment.yaml @@ -0,0 +1,62 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: synapse-werts + namespace: synapse + annotations: + reloader.stakater.com/auto: "true" +spec: + replicas: 1 + selector: + matchLabels: + app: synapse-werts + strategy: + rollingUpdate: + maxSurge: 1 + maxUnavailable: 1 + type: RollingUpdate + template: + metadata: + labels: + app: synapse-werts + spec: + containers: + - env: + - name: SYNAPSE_CONFIG_PATH + value: /config/homeserver.yaml + image: matrixdotorg/synapse:v1.71.0 + imagePullPolicy: IfNotPresent + name: synapse + ports: + - containerPort: 8008 + protocol: TCP + resources: {} + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + volumeMounts: + - mountPath: /data + name: data-pv + - mountPath: /config + name: config + readOnly: true + dnsPolicy: ClusterFirst + initContainers: [] + #- name: sleeper + # image: debian:11 + # command: ["bash", "-c", "sleep 1000000"] + # volumeMounts: + # - mountPath: /data + # name: data-pv + restartPolicy: Always + schedulerName: default-scheduler + securityContext: {} + terminationGracePeriodSeconds: 30 + volumes: + - name: data-pv + nfs: + path: /volume1/k8s-volumes/synapse-werts + server: 172.16.18.1 + - name: config + secret: + secretName: synapse-werts-config + diff --git a/matrix/init.sql b/matrix/init.sql new file mode 100644 index 0000000..27b6017 --- /dev/null +++ b/matrix/init.sql @@ -0,0 +1,19 @@ +-- Database: synapse-werts + +-- DROP DATABASE IF EXISTS "synapse-werts"; + +CREATE DATABASE "synapse-werts" + WITH + OWNER = postgres + ENCODING = 'UTF8' + LC_COLLATE = 'C' + LC_CTYPE = 'C' + TABLESPACE = pg_default + CONNECTION LIMIT = -1 + IS_TEMPLATE = False; + +GRANT TEMPORARY, CONNECT ON DATABASE "synapse-werts" TO PUBLIC; + +GRANT ALL ON DATABASE "synapse-werts" TO postgres; + +GRANT ALL ON DATABASE "synapse-werts" TO "synapse-werts"; diff --git a/matrix/ns.yaml b/matrix/ns.yaml new file mode 100644 index 0000000..4ffb611 --- /dev/null +++ b/matrix/ns.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: synapse diff --git a/matrix/service.yaml b/matrix/service.yaml new file mode 100644 index 0000000..3e405a5 --- /dev/null +++ b/matrix/service.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + app: synapse-werts + name: synapse-werts + namespace: synapse +spec: + ports: + - port: 8008 + name: http + protocol: TCP + targetPort: 8008 + selector: + app: synapse-werts + type: ClusterIP