apiVersion: apps/v1
kind: ReplicaSet
metadata:
annotations:
deployment.kubernetes.io/desired-replicas: '1'
deployment.kubernetes.io/max-replicas: '2'
deployment.kubernetes.io/revision: '4'
creationTimestamp: '2024-09-22T22:34:25Z'
generation: 1
labels:
app.kubernetes.io/component: synapse
app.kubernetes.io/instance: matrix
app.kubernetes.io/name: matrix-synapse
pod-template-hash: 54c86797f4
managedFields:
- apiVersion: apps/v1
fieldsType: FieldsV1
fieldsV1:
f:metadata:
f:annotations:
.: {}
f:deployment.kubernetes.io/desired-replicas: {}
f:deployment.kubernetes.io/max-replicas: {}
f:deployment.kubernetes.io/revision: {}
f:labels:
.: {}
f:app.kubernetes.io/component: {}
f:app.kubernetes.io/instance: {}
f:app.kubernetes.io/name: {}
f:pod-template-hash: {}
f:ownerReferences:
.: {}
k:{"uid":"687bd3f9-4f83-41aa-975c-274db2add1d6"}:
.: {}
f:apiVersion: {}
f:blockOwnerDeletion: {}
f:controller: {}
f:kind: {}
f:name: {}
f:uid: {}
f:spec:
f:replicas: {}
f:selector: {}
f:template:
f:metadata:
f:annotations:
.: {}
f:checksum/config: {}
f:checksum/secrets: {}
f:labels:
.: {}
f:app.kubernetes.io/component: {}
f:app.kubernetes.io/instance: {}
f:app.kubernetes.io/name: {}
f:pod-template-hash: {}
f:spec:
f:containers:
k:{"name":"synapse"}:
.: {}
f:command: {}
f:env:
.: {}
k:{"name":"POSTGRES_PASSWORD"}:
.: {}
f:name: {}
f:valueFrom:
.: {}
f:secretKeyRef:
.: {}
f:key: {}
f:name: {}
k:{"name":"REDIS_PASSWORD"}:
.: {}
f:name: {}
f:valueFrom:
.: {}
f:secretKeyRef:
.: {}
f:key: {}
f:name: {}
f:image: {}
f:imagePullPolicy: {}
f:livenessProbe:
.: {}
f:failureThreshold: {}
f:httpGet:
.: {}
f:path: {}
f:port: {}
f:scheme: {}
f:periodSeconds: {}
f:successThreshold: {}
f:timeoutSeconds: {}
f:name: {}
f:ports:
.: {}
k:{"containerPort":8008,"protocol":"TCP"}:
.: {}
f:containerPort: {}
f:name: {}
f:protocol: {}
k:{"containerPort":9090,"protocol":"TCP"}:
.: {}
f:containerPort: {}
f:name: {}
f:protocol: {}
k:{"containerPort":9093,"protocol":"TCP"}:
.: {}
f:containerPort: {}
f:name: {}
f:protocol: {}
f:readinessProbe:
.: {}
f:failureThreshold: {}
f:httpGet:
.: {}
f:path: {}
f:port: {}
f:scheme: {}
f:periodSeconds: {}
f:successThreshold: {}
f:timeoutSeconds: {}
f:resources: {}
f:securityContext: {}
f:startupProbe:
.: {}
f:failureThreshold: {}
f:httpGet:
.: {}
f:path: {}
f:port: {}
f:scheme: {}
f:periodSeconds: {}
f:successThreshold: {}
f:timeoutSeconds: {}
f:terminationMessagePath: {}
f:terminationMessagePolicy: {}
f:volumeMounts:
.: {}
k:{"mountPath":"/synapse/config"}:
.: {}
f:mountPath: {}
f:name: {}
k:{"mountPath":"/synapse/config/conf.d"}:
.: {}
f:mountPath: {}
f:name: {}
k:{"mountPath":"/synapse/data"}:
.: {}
f:mountPath: {}
f:name: {}
k:{"mountPath":"/synapse/keys"}:
.: {}
f:mountPath: {}
f:name: {}
k:{"mountPath":"/synapse/secrets"}:
.: {}
f:mountPath: {}
f:name: {}
k:{"mountPath":"/tmp"}:
.: {}
f:mountPath: {}
f:name: {}
f:dnsPolicy: {}
f:restartPolicy: {}
f:schedulerName: {}
f:securityContext: {}
f:serviceAccount: {}
f:serviceAccountName: {}
f:terminationGracePeriodSeconds: {}
f:volumes:
.: {}
k:{"name":"config"}:
.: {}
f:configMap:
.: {}
f:defaultMode: {}
f:name: {}
f:name: {}
k:{"name":"media"}:
.: {}
f:name: {}
f:persistentVolumeClaim:
.: {}
f:claimName: {}
k:{"name":"secrets"}:
.: {}
f:name: {}
f:secret:
.: {}
f:defaultMode: {}
f:secretName: {}
k:{"name":"signingkey"}:
.: {}
f:name: {}
f:secret:
.: {}
f:defaultMode: {}
f:items: {}
f:secretName: {}
k:{"name":"tmpconf"}:
.: {}
f:emptyDir: {}
f:name: {}
k:{"name":"tmpdir"}:
.: {}
f:emptyDir: {}
f:name: {}
f:status:
f:availableReplicas: {}
f:fullyLabeledReplicas: {}
f:observedGeneration: {}
f:readyReplicas: {}
f:replicas: {}
manager: k3s
operation: Update
time: '2025-10-19T10:17:04Z'
name: matrix-matrix-synapse-54c86797f4
namespace: matrix
ownerReferences:
- apiVersion: apps/v1
blockOwnerDeletion: true
controller: true
kind: Deployment
name: matrix-matrix-synapse
uid: 687bd3f9-4f83-41aa-975c-274db2add1d6
resourceVersion: '3508119889'
uid: f691ca2f-8e25-4502-9eb5-ad0490564ac1
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/component: synapse
app.kubernetes.io/instance: matrix
app.kubernetes.io/name: matrix-synapse
pod-template-hash: 54c86797f4
template:
metadata:
annotations:
checksum/config: 043066ecc62a24c373d126dacae95e23a8ff84fa73512aa6e4a45f72f47b2f20
checksum/secrets: 233c503074a0de368c9da37c4583673229a1f1c24cbd3f5fac07251b91c12c73
creationTimestamp: null
labels:
app.kubernetes.io/component: synapse
app.kubernetes.io/instance: matrix
app.kubernetes.io/name: matrix-synapse
pod-template-hash: 54c86797f4
spec:
containers:
- command:
- sh
- -c
- "export POSTGRES_PASSWORD=$(echo \"${POSTGRES_PASSWORD:-}\" | sed 's/\\\
//\\\\\\//g' | sed 's/\\&/\\\\\\&/g') && \\\nexport REDIS_PASSWORD=$(echo\
\ \"${REDIS_PASSWORD:-}\" | sed 's/\\//\\\\\\//g' | sed 's/\\&/\\\\\\&/g')\
\ && \\\ncat /synapse/secrets/*.yaml | \\\n sed -e \"s/@@POSTGRES_PASSWORD@@/${POSTGRES_PASSWORD:-}/\"\
\ \\\n -e \"s/@@REDIS_PASSWORD@@/${REDIS_PASSWORD:-}/\" \\\n \
\ > /synapse/config/conf.d/secrets.yaml\n\nexec python -B -m synapse.app.homeserver\
\ \\\n -c /synapse/config/homeserver.yaml \\\n -c\
\ /synapse/config/conf.d/\n"
env:
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
key: password
name: matrix-postgresql
- name: REDIS_PASSWORD
valueFrom:
secretKeyRef:
key: redis-password
name: matrix-redis
image: matrixdotorg/synapse:v1.114.0
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 3
httpGet:
path: /health
port: http
scheme: HTTP
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
name: synapse
ports:
- containerPort: 8008
name: http
protocol: TCP
- containerPort: 9093
name: replication
protocol: TCP
- containerPort: 9090
name: metrics
protocol: TCP
readinessProbe:
failureThreshold: 3
httpGet:
path: /health
port: http
scheme: HTTP
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
resources: {}
securityContext: {}
startupProbe:
failureThreshold: 12
httpGet:
path: /health
port: http
scheme: HTTP
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /synapse/config
name: config
- mountPath: /synapse/config/conf.d
name: tmpconf
- mountPath: /synapse/secrets
name: secrets
- mountPath: /synapse/keys
name: signingkey
- mountPath: /synapse/data
name: media
- mountPath: /tmp
name: tmpdir
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
serviceAccount: default
serviceAccountName: default
terminationGracePeriodSeconds: 30
volumes:
- configMap:
defaultMode: 420
name: matrix-matrix-synapse
name: config
- name: secrets
secret:
defaultMode: 420
secretName: matrix-matrix-synapse
- name: signingkey
secret:
defaultMode: 420
items:
- key: signing.key
path: signing.key
secretName: matrix-signingkey
- emptyDir: {}
name: tmpconf
- emptyDir: {}
name: tmpdir
- name: media
persistentVolumeClaim:
claimName: matrix-matrix-synapse
status:
availableReplicas: 1
fullyLabeledReplicas: 1
observedGeneration: 1
readyReplicas: 1
replicas: 1