--- apiVersion: v1 kind: Namespace metadata: name: matrix --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: matrix-pvc namespace: matrix labels: app: matrix spec: storageClassName: ceph-block accessModes: - ReadWriteOnce resources: requests: storage: 20Gi --- apiVersion: apps/v1 kind: Deployment metadata: name: matrix namespace: matrix spec: selector: matchLabels: app: matrix replicas: 1 template: metadata: labels: app: matrix spec: containers: - name: matrix image: matrixdotorg/synapse:v1.71.0 ports: - containerPort: 8008 name: http-web-svc volumeMounts: - mountPath: "/data" name: data livenessProbe: httpGet: path: /_matrix/static port: 8008 failureThreshold: 10 initialDelaySeconds: 30 periodSeconds: 30 timeoutSeconds: 10 volumes: - name: data persistentVolumeClaim: claimName: matrix-pvc --- apiVersion: v1 kind: Service metadata: name: matrix-service namespace: matrix spec: selector: app: matrix type: ClusterIP ports: - name: matrix-web-port protocol: TCP port: 8008 targetPort: http-web-svc --- apiVersion: traefik.containo.us/v1alpha1 kind: IngressRoute metadata: name: matrix namespace: matrix spec: entryPoints: - websecure routes: - kind: Rule match: Host(`matrix.jibby.org`) services: - kind: Service name: matrix-service port: 8008