blob: 3708484a29412cc42b2f806af0003e00a863afaf [file] [log] [blame]
---
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
---