Files
helm-charts/matrix-synapse/templates/matrix-synapse.sfs.yaml
T
2026-03-20 18:06:04 +01:00

63 lines
2.1 KiB
YAML

apiVersion: apps/v1
kind: StatefulSet
metadata:
name: {{ .Release.Name }}-{{ .Chart.Name }}-sfs
labels:
app: {{ .Release.Name }}-{{ .Chart.Name }}-sfs
spec:
serviceName: {{ .Release.Name }}-{{ .Chart.Name }}-service
replicas: 1
selector:
matchLabels:
app: {{ .Release.Name }}-{{ .Chart.Name }}-sfs
template:
metadata:
name: {{ .Release.Name }}-{{ .Chart.Name }}-sfs
labels:
app: {{ .Release.Name }}-{{ .Chart.Name }}-sfs
spec:
automountServiceAccountToken: false
securityContext:
fsGroup: 1000
fsGroupChangePolicy: Always
containers:
- name: "{{ .Release.Name }}-{{ .Chart.Name }}-container"
image: "ghcr.io/element-hq/synapse:{{ .Chart.AppVersion }}"
env:
- name: SYNAPSE_SERVER_NAME
value: "{{ required "You must provide a Server-Name" .Values.matrix.serverName }}"
- name: SYNAPSE_REPORT_STATS
value: "no"
- name: UID
value: "1000"
- name: GID
value: "1000"
- name: TZ
value: "{{ .Values.matrix.timezone }}"
ports:
- name: http
containerPort: 8008
protocol: TCP
# TODO: Add liveness and readiness probes
# TODO: Add resource requests and limits
volumeMounts:
- name: matrix-synapse-volume
mountPath: /data
subPath: matrix-synapse-data/
- name: matrix-synapse-volume
mountPath: /media_store
subPath: matrix-media-store/
- name: matrix-synapse-config-secret
mountPath: /data/homeserver.yaml
subPath: homeserver.yaml
volumes:
- name: matrix-synapse-volume
persistentVolumeClaim:
claimName: {{ .Release.Name }}-{{ .Chart.Name }}-pvc
- name: matrix-synapse-config-secret
secret:
secretName: {{ .Release.Name }}-{{ .Chart.Name }}-config-secret
items:
- key: homeserver.yaml
path: homeserver.yaml