

= matrix-synapse

image::https://img.shields.io/badge/Version-0.0.1-informational?style=flat-square[Version: 0.0.1]
image::https://img.shields.io/badge/Version-application-informational?style=flat-square[Type: application]
image::https://img.shields.io/badge/AppVersion-1.100.0-informational?style=flat-square[AppVersion: 1.100.0]
== Maintainers

.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 https://helm.sh/docs[documentation] to get started.
Once Helm has been set up correctly, fetch the charts as follows:

[source,bash]
----
helm pull oci://codeberg.org/wrenix/helm-charts/matrix-synapse
----

You can install a chart release using the following command:

[source,bash]
----
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:

[source,bash]
----
helm uninstall matrix-synapse-release
----

== Values

.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

| 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.enabled
| bool
| `true`
|

| persistence.size
| string
| `"10Gi"`
|

| 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"`
|

| 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.3"`
|

| 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 https://github.com/norwoodj/helm-docs[helm-docs]
