dendrite: New deployment.
Change-Id: I4ba0fdbf91809336eb8c853180baadb66a3488c7
diff --git a/dendrite/.gitignore b/dendrite/.gitignore
new file mode 100644
index 0000000..65bf45b
--- /dev/null
+++ b/dendrite/.gitignore
@@ -0,0 +1 @@
+/dendrite-config.yaml
diff --git a/dendrite/dendrite.yaml b/dendrite/dendrite.yaml
new file mode 100644
index 0000000..3708484
--- /dev/null
+++ b/dendrite/dendrite.yaml
@@ -0,0 +1,160 @@
+---
+apiVersion: v1
+kind: Service
+
+metadata:
+ name: dendrite
+ namespace: mulk
+
+ labels:
+ name: dendrite
+ k8s-app: dendrite
+
+spec:
+ selector:
+ name: dendrite
+ type: ClusterIP
+
+ ports:
+ - name: http
+ port: 80
+ targetPort: http
+ protocol: TCP
+
+---
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+
+metadata:
+ name: dendrite
+ namespace: mulk
+
+ labels:
+ name: dendrite
+ k8s-app: dendrite
+
+ annotations:
+ ingress.kubernetes.io/ssl-proxy-headers: X-Forwarded-Proto:https
+ ingress.kubernetes.io/custom-request-headers: X-Forwarded-Proto:https||X-Forwarded-Port:443
+ kubernetes.io/ingress.class: nginx
+ cert-manager.io/cluster-issuer: letsencrypt-prod
+
+spec:
+ rules:
+ - host: matrix.benkard.de
+ http:
+ paths:
+ - path: /_matrix
+ pathType: ImplementationSpecific
+ backend:
+ service:
+ name: dendrite
+ port:
+ name: http
+
+ tls:
+ - hosts:
+ - matrix.benkard.de
+ secretName: matrix-tls
+
+---
+apiVersion: apps/v1
+kind: Deployment
+
+metadata:
+ name: dendrite
+ namespace: mulk
+ labels:
+ name: dendrite
+ k8s-app: dendrite
+
+spec:
+ replicas: 1
+ strategy:
+ type: Recreate
+
+ selector:
+ matchLabels:
+ k8s-app: dendrite
+ name: dendrite
+
+ template:
+ metadata:
+ labels:
+ name: dendrite
+ k8s-app: dendrite
+
+ spec:
+ imagePullSecrets:
+ - name: portus-token
+
+ volumes:
+ - name: config
+ secret:
+ secretName: dendrite-config
+ defaultMode: 0600
+ items:
+ - key: dendrite.yaml
+ path: dendrite.yaml
+ - name: data
+ persistentVolumeClaim:
+ claimName: dendrite-data
+ - name: secrets
+ secret:
+ secretName: dendrite
+ defaultMode: 0600
+ items:
+ - key: matrix-key.pem
+ path: matrix-key.pem
+
+ containers:
+ - name: master
+ image: docker.io/matrixdotorg/dendrite-monolith:v0.13.6
+ imagePullPolicy: IfNotPresent
+
+ resources:
+ limits:
+ cpu: 2000m
+ memory: 500Mi
+ requests:
+ cpu: 10m
+ memory: 10Mi
+
+ volumeMounts:
+ - name: config
+ mountPath: /etc/dendrite
+ - name: data
+ mountPath: /data
+ - name: secrets
+ mountPath: /secrets
+
+ ports:
+ - containerPort: 8008
+ name: http
+ protocol: TCP
+
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+
+metadata:
+ name: dendrite-data
+ namespace: mulk
+
+ labels:
+ name: dendrite-data
+ k8s-app: dendrite
+
+ annotations:
+ volume.beta.kubernetes.io/storage-provisioner: rancher.io/local-path
+
+spec:
+ accessModes:
+ - ReadWriteOnce
+
+ resources:
+ requests:
+ storage: 50Gi
+
+ storageClassName: local-path
+---