matrix-synapse

Version: 0.2.1
Type: application
AppVersion: 1.101.0

Maintainers

Table 1. Maintainers
Name Email Url

WrenIX

https://wrenix.eu

Usage

Helm must be installed and setup to your kubernetes cluster to use the charts. Refer to Helm’s documentation to get started. Once Helm has been set up correctly, fetch the charts as follows:

helm pull oci://codeberg.org/wrenix/helm-charts/matrix-synapse

You can install a chart release using the following command:

helm install matrix-synapse-release oci://codeberg.org/wrenix/helm-charts/matrix-synapse --values values.yaml

To uninstall a chart release use `helm’s delete command:

helm uninstall matrix-synapse-release

Values

Table 2. Values
Key Type Default Description

config.bindAddresses

list

["::"]

The bind addresses to use for the default listeners

config.extraListeners

list

[]

config.extraMainListenerTypes

list

[]

config.reportStats

bool

false

config.trustedKeyServers

list

[{"server_name":"matrix.org"}]

A set of trusted servers to contact if another server doesn’t respond to a signing key request.

config.useStructuredLogging

bool

false

externalPostgresql.database

string

"synapse"

externalPostgresql.extraArgs

object

{}

Extra arguments for the database connection ref: https://github.com/matrix-org/synapse/blob/develop/docs/postgres.md#synapse-config

externalPostgresql.options

object

{}

set extra configuration ref: https://github.com/matrix-org/synapse/blob/develop/docs/postgres.md#synapse-config e.g. txn_limit, allow_unsafe_locale

externalPostgresql.port

int

5432

externalPostgresql.username

string

"synapse"

externalRedis.port

int

6379

extraConfig

object

{}

extraLoggers

object

{}

extraSecrets

object

{}

fullnameOverride

string

nil

Override the full name of the installed chart.

global.image.pullPolicy

string

nil

if set it will overwrite all pullPolicy

global.image.registry

string

nil

if set it will overwrite all registry entries

grafana.dashboards.annotations

object

{}

grafana.dashboards.enabled

bool

false

grafana.dashboards.labels.grafana_dashboard

string

"1"

image.pullPolicy

string

"IfNotPresent"

image.registry

string

"ghcr.io"

image.repository

string

"element-hq/synapse"

image.tag

string

nil

Overrides the image tag whose default is the chart appVersion.

ingress.annotations

object

{}

ingress.csHosts

list

[]

ingress.csPaths

list

[]

ingress.enabled

bool

true

ingress.hosts

list

[]

ingress.includeServerName

bool

true

ingress.includeUnderscoreSynapse

bool

true

ingress.paths

list

[]

ingress.tls

list

[]

ingress.traefikPaths

bool

false

ingress.wkHosts

list

[]

nameOverride

string

nil

Override part of the installed name, will still keep release name.

persistence.accessMode

string

"ReadWriteOnce"

persistence.annotations

object

{}

persistence.enabled

bool

true

persistence.existingClaim

string

nil

A manually managed Persistent Volume and Claim Requires persistence.enabled: true If defined, PVC must be created manually before volume will be bound

persistence.hostPath

string

nil

Do not create an PVC, direct use hostPath in Pod

persistence.size

string

"10Gi"

persistence.storageClass

string

nil

Persistent Volume Storage Class If defined, storageClassName: <storageClass> If set to "-", storageClassName: "", which disables dynamic provisioning If undefined (the default) or set to null, no storageClassName spec is set, choosing the default provisioner. (gp2 on AWS, standard on GKE, AWS & OpenStack)

postgresql.auth.database

string

"synapse"

postgresql.auth.password

string

"synapse"

postgresql.auth.username

string

"synapse"

postgresql.enabled

bool

true

postgresql.extraArgs

object

{}

Extra arguments for the database connection ref: https://github.com/matrix-org/synapse/blob/develop/docs/postgres.md#synapse-config

postgresql.options

object

{}

set extra configuration ref: https://github.com/matrix-org/synapse/blob/develop/docs/postgres.md#synapse-config e.g. txn_limit, allow_unsafe_locale

postgresql.primary.initdb.args

string

"--lc-collate=C --lc-ctype=C"

postgresql.primary.persistence.size

string

"16Gi"

prometheus.podmonitor.enabled

bool

false

prometheus.podmonitor.labels

object

{}

prometheus.rules.additionalRules

list

[]

prometheus.rules.defaults.enabled

bool

true

prometheus.rules.enabled

bool

false

prometheus.rules.labels

object

{}

publicServerName

string

nil

The public Matrix server name, this will be used for any public URLs in config as well as for client API links in the ingress.

redis.architecture

string

"standalone"

redis.auth.enabled

bool

true

redis.auth.password

string

"synapse"

redis.enabled

bool

true

redis.master.kind

string

"Deployment"

redis.master.persistence.enabled

bool

false

redis.master.service.port

int

6379

serverName

string

nil

The Matrix domain name, this is what will be used for the domain part in your MXIDs.

service.port

int

8008

service.targetPort

string

"http"

service.type

string

"ClusterIP"

serviceAccount.annotations

object

{}

serviceAccount.create

bool

false

signingkey.job.annotations

object

{}

signingkey.job.enabled

bool

true

signingkey.job.publishImage.pullPolicy

string

"IfNotPresent"

signingkey.job.publishImage.registry

string

"docker.io"

signingkey.job.publishImage.repository

string

"bitnami/kubectl"

signingkey.job.publishImage.tag

string

"latest"

signingkey.resources

object

{}

synapse.affinity

object

{}

synapse.annotations

object

{}

synapse.extraCommands

list

[]

synapse.extraEnv

list

[]

synapse.extraVolumeMounts

list

[]

synapse.extraVolumes

list

[]

synapse.labels

object

{}

synapse.livenessProbe.httpGet.path

string

"/health"

synapse.livenessProbe.httpGet.port

string

"http"

synapse.nodeSelector

object

{}

synapse.podSecurityContext

object

{}

synapse.readinessProbe.httpGet.path

string

"/health"

synapse.readinessProbe.httpGet.port

string

"http"

synapse.resources

object

{}

synapse.securityContext

object

{}

synapse.startupProbe.failureThreshold

int

12

synapse.startupProbe.httpGet.path

string

"/health"

synapse.startupProbe.httpGet.port

string

"http"

synapse.strategy.type

string

"RollingUpdate"

synapse.tolerations

list

[]

volumePermissions.enabled

bool

false

volumePermissions.gid

int

666

volumePermissions.image.pullPolicy

string

"Always"

volumePermissions.image.registry

string

"docker.io"

volumePermissions.image.repository

string

"library/alpine"

volumePermissions.image.tag

string

"3.19.1"

volumePermissions.resources

object

{}

volumePermissions.uid

int

666

wellknown.affinity

object

{}

wellknown.client

object

{}

Data to serve on .well-known/matrix/client. m.homeserver: base_url: https://matrix.example.com

wellknown.containerPort

int

80

wellknown.enabled

bool

false

wellknown.env

list

[]

wellknown.image.pullPolicy

string

"IfNotPresent"

wellknown.image.registry

string

"docker.io"

wellknown.image.repository

string

"library/nginx"

wellknown.image.tag

string

"1.25.5"

wellknown.nodeSelector

object

{}

wellknown.podAnnotations

list

[]

wellknown.podLabels

object

{}

wellknown.podSecurityContext

object

{}

wellknown.replicaCount

int

1

wellknown.resources

object

{}

wellknown.securityContext

object

{}

wellknown.server

object

{}

The host and port combo to serve on .well-known/matrix/server. m.server: matrix.example.com:443

wellknown.service.annotations

object

{}

wellknown.service.port

int

8080

wellknown.service.type

string

"ClusterIP"

wellknown.tolerations

list

[]

workers.appservice.enabled

bool

false

workers.appservice.generic

bool

true

workers.appservice.name

string

"appservices"

workers.default.affinity

object

{}

workers.default.annotations

object

{}

workers.default.extraCommands

list

[]

workers.default.extraEnv

list

[]

workers.default.livenessProbe.httpGet.path

string

"/health"

workers.default.livenessProbe.httpGet.port

string

"metrics"

workers.default.nodeSelector

object

{}

workers.default.podSecurityContext

object

{}

workers.default.readinessProbe.httpGet.path

string

"/health"

workers.default.readinessProbe.httpGet.port

string

"metrics"

workers.default.replicaCount

int

1

workers.default.resources

object

{}

workers.default.securityContext

object

{}

workers.default.startupProbe.failureThreshold

int

6

workers.default.startupProbe.httpGet.path

string

"/health"

workers.default.startupProbe.httpGet.port

string

"metrics"

workers.default.strategy.type

string

"RollingUpdate"

workers.default.tolerations

list

[]

workers.default.volumeMounts

list

[]

workers.default.volumes

list

[]

workers.federation_sender.enabled

bool

false

workers.frontend_proxy.csPaths[0]

string

`"/_matrix/client/(api/v1

r0

v3

unstable)/keys/upload"`

workers.frontend_proxy.enabled

bool

false

workers.frontend_proxy.listeners[0]

string

"client"

workers.generic_worker.csPaths[0]

string

`"/_matrix/client/(api/v1

r0

v3)/events$"`

workers.generic_worker.csPaths[10]

string

`"/_matrix/client/(r0

v3

unstable)/account/3pid$"`

workers.generic_worker.csPaths[11]

string

`"/_matrix/client/(r0

v3

unstable)/account/whoami$"`

workers.generic_worker.csPaths[12]

string

`"/_matrix/client/(r0

v3

unstable)/devices$"`

workers.generic_worker.csPaths[13]

string

"/_matrix/client/versions$"

workers.generic_worker.csPaths[14]

string

`"/_matrix/client/(api/v1

r0

v3

unstable)/voip/turnServer$"`

workers.generic_worker.csPaths[15]

string

`"/_matrix/client/(api/v1

r0

v3

unstable)/rooms/.*/event/"`

workers.generic_worker.csPaths[16]

string

`"/_matrix/client/(api/v1

r0

v3

unstable)/joined_rooms$"`

workers.generic_worker.csPaths[17]

string

`"/_matrix/client/(api/v1

r0

v3

unstable)/search$"`

workers.generic_worker.csPaths[18]

string

`"/_matrix/client/(r0

v3

unstable)/keys/query$"`

workers.generic_worker.csPaths[19]

string

`"/_matrix/client/(r0

v3

unstable)/keys/changes$"`

workers.generic_worker.csPaths[1]

string

`"/_matrix/client/(api/v1

r0

v3

unstable)/createRoom$"`

workers.generic_worker.csPaths[20]

string

`"/_matrix/client/(r0

v3

unstable)/keys/claim$"`

workers.generic_worker.csPaths[21]

string

`"/_matrix/client/(r0

v3

unstable)/room_keys/"`

workers.generic_worker.csPaths[22]

string

`"/_matrix/client/(api/v1

r0

v3

unstable)/login$"`

workers.generic_worker.csPaths[23]

string

`"/_matrix/client/(r0

v3

unstable)/register$"`

workers.generic_worker.csPaths[24]

string

"/_matrix/client/v1/register/m.login.registration_token/validity$"

workers.generic_worker.csPaths[25]

string

`"/_matrix/client/(api/v1

r0

v3

unstable)/rooms/.*/redact"`

workers.generic_worker.csPaths[26]

string

`"/_matrix/client/(api/v1

r0

v3

unstable)/rooms/.*/send"`

workers.generic_worker.csPaths[27]

string

`"/_matrix/client/(api/v1

r0

v3

unstable)/rooms/.*/state/"`

workers.generic_worker.csPaths[28]

string

`"/_matrix/client/(api/v1

r0

v3

unstable)/rooms/.*/(join

invite

leave

ban

unban

kick)$"`

workers.generic_worker.csPaths[29]

string

`"/_matrix/client/(api/v1

r0

v3

unstable)/join/"`

workers.generic_worker.csPaths[2]

string

`"/_matrix/client/(api/v1

r0

v3

unstable)/publicRooms$"`

workers.generic_worker.csPaths[30]

string

`"/_matrix/client/(api/v1

r0

v3

unstable)/profile/"`

workers.generic_worker.csPaths[31]

string

`"/_matrix/client/(r0

v3

unstable)/user_directory/search"`

workers.generic_worker.csPaths[3]

string

`"/_matrix/client/(api/v1

r0

v3

unstable)/rooms/.*/joined_members$"`

workers.generic_worker.csPaths[4]

string

`"/_matrix/client/(api/v1

r0

v3

unstable)/rooms/.*/context/"`

workers.generic_worker.csPaths[5]

string

`"/_matrix/client/(api/v1

r0

v3

unstable)/rooms/.*/members$"`

workers.generic_worker.csPaths[6]

string

`"/_matrix/client/(api/v1

r0

v3

unstable)/rooms/.*/state$"`

workers.generic_worker.csPaths[7]

string

"/_matrix/client/v1/rooms/.*/hierarchy$"

workers.generic_worker.csPaths[8]

string

"/_matrix/client/unstable/org.matrix.msc2716/rooms/.*/batch_send$"

workers.generic_worker.csPaths[9]

string

"/_matrix/client/unstable/im.nheko.summary/rooms/.*/summary$"

workers.generic_worker.enabled

bool

false

workers.generic_worker.generic

bool

true

workers.generic_worker.listeners[0]

string

"client"

workers.generic_worker.listeners[1]

string

"federation"

workers.generic_worker.paths[0]

string

"/_matrix/federation/v1/event/"

workers.generic_worker.paths[10]

string

`"/_matrix/federation/(v1

v2)/send_leave/"`

workers.generic_worker.paths[11]

string

`"/_matrix/federation/(v1

v2)/invite/"`

workers.generic_worker.paths[12]

string

"/_matrix/federation/v1/event_auth/"

workers.generic_worker.paths[13]

string

"/_matrix/federation/v1/exchange_third_party_invite/"

workers.generic_worker.paths[14]

string

"/_matrix/federation/v1/user/devices/"

workers.generic_worker.paths[15]

string

"/_matrix/key/v2/query"

workers.generic_worker.paths[16]

string

"/_matrix/federation/v1/hierarchy/"

workers.generic_worker.paths[17]

string

"/_matrix/federation/v1/send/"

workers.generic_worker.paths[1]

string

"/_matrix/federation/v1/state/"

workers.generic_worker.paths[2]

string

"/_matrix/federation/v1/state_ids/"

workers.generic_worker.paths[3]

string

"/_matrix/federation/v1/backfill/"

workers.generic_worker.paths[4]

string

"/_matrix/federation/v1/get_missing_events/"

workers.generic_worker.paths[5]

string

"/_matrix/federation/v1/publicRooms"

workers.generic_worker.paths[6]

string

"/_matrix/federation/v1/query/"

workers.generic_worker.paths[7]

string

"/_matrix/federation/v1/make_join/"

workers.generic_worker.paths[8]

string

"/_matrix/federation/v1/make_leave/"

workers.generic_worker.paths[9]

string

`"/_matrix/federation/(v1

v2)/send_join/"`

workers.media_repository.csPaths[0]

string

"/_matrix/media/.*"

workers.media_repository.csPaths[1]

string

"/_synapse/admin/v1/purge_media_cache$"

workers.media_repository.csPaths[2]

string

"/_synapse/admin/v1/room/.*/media"

workers.media_repository.csPaths[3]

string

"/_synapse/admin/v1/user/.*/media"

workers.media_repository.csPaths[4]

string

"/_synapse/admin/v1/media/"

workers.media_repository.csPaths[5]

string

"/_synapse/admin/v1/quarantine_media/"

workers.media_repository.csPaths[6]

string

"/_synapse/admin/v1/users/.*/media$"

workers.media_repository.enabled

bool

false

workers.media_repository.listeners[0]

string

"media"

workers.media_repository.paths[0]

string

"/_matrix/media/.*"

workers.pusher.enabled

bool

false

workers.user_dir.csPaths[0]

string

`"/_matrix/client/(api/v1

r0

v3

unstable)/user_directory/search$"`

workers.user_dir.enabled

bool

false

workers.user_dir.listeners[0]

string

"client"

workers.user_dir.name

string

"userdir"

Autogenerated from chart metadata using helm-docs