Type: object

Spec defines the desired state of ElementDeployment

Type: object Default: {}

Type: object

Deploys an Adminbot which automatically joins rooms. Admins can manage rooms by impersonating the Adminbot.



Must not be:

Type: object

The following properties are required:

  • centralAccess

The following properties are required:

  • bot
  • security

Must not be:

Type: object

The following properties are required:

  • bot
  • security

The following properties are required:

  • centralAccess

Type: string

Deprecated. Moved to bot property.

Type: object

The adminbot configuration

Type: string Default: "backupPassphrase"

The key of the k8s secret containing the adminbot backup passphrase

Type: boolean Default: false

Enable admin of Direct Messages

Type: boolean Default: true

Audit only rooms local to the homeserver

Type: enum (of string) Default: "info"

Must be one of:

  • "info"
  • "debug"
  • "warning"

Type: array of object Default: []

List of remote federated homeservers

No Additional Items

Each item of this array must be:

Type: object

Remote federated homeserver

Type: string Default: "remoteAdminUserSecretKey"

The admin user token secret key


Appservice tokens authentication


Must not be:

Type: object

The following properties are required:

  • manual

The following properties are required:

  • auto

Must not be:

The following properties are required:

  • manual

Type: object

Automatically determine appservice tokens authentication. Only possible when using Element Enterprise Server Suite.

Type: string Default: "remoteGenericSharedSecret"

The remote federated homeserver generic shared secret

Type: object

Manually configure appservice tokens authentication.

Type: string Default: "remoteASToken"

The remote federated homeserver as token secret key

Type: string Default: "remoteHSToken"

The remote federated homeserver hs token secret key

Type: string Default: "adminbot"

Bot username. A SynapseUser named bot-<botUsername> should exist.

Type: string

Deprecated. Moved to bot property.


Allow access from a central adminbot

Type: object

The following properties are required:

  • manualAppService

Type: string

The URL of the appservice of the central adminbot

Must match regular expression: ^https:\/\/[A-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$

Type: object

Manually configure appservice tokens. It should not be necessary if using Element Enterprise Server Suite.

Type: string Default: "centralASToken"

The remote federated homeserver as token secret key

Type: string Default: "centralHSToken"

The remote federated homeserver hs token secret key


Local Adminbot security settings

Type: object

The following properties are required:

  • ipRangesAllowed

Type: array of string

IP ranges allowed to access adminbot UI

No Additional Items

Each item of this array must be:

Type: string

An IPv4 or IPV6 range

Type: enum (of string) Default: "useGlobalSetting"

TLS Verification

Must be one of:

  • "useGlobalSetting"
  • "force"
  • "disable"

Type: object Default: {}

Type: object Default: {}

k8s properties of the access element web workloads inside adminbot component

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: number

The number of access Element Web for Adminbot replicas

Value must be greater or equal to 1

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "200Mi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "50m", "memory": "50Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 10004

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 10004

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: object Default: {}

Settings dedicated to k8s

Type: object Default: {}

The annotations to add to every workloads and ingresses deployed

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: object Default: {}

k8s properties of the haproxy workloads inside adminbot component

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "200Mi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "10m", "memory": "100Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 10016

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 10016

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Default: {}

Type: object

The following properties are required:

  • appservice

Type: object

Settings dedicated to k8s ingresses

Type: object Default: {}

Defines the annotations to add

Each additional property must conform to the following schema

Type: string

Type: string

Fully qualified domain name of the ingress

Type: string

An optional IngressClass name to be used for this ingress. Optional if you are managing ingress / loadbalancer externally.

Type: object Default: {}

Type: enum (of string)

Default service type

Must be one of:

  • "ClusterIP"
  • "NodePort"
  • "LoadBalancer"



Must not be:

Type: object

The following properties are required:

  • certificate
  • secretName

The following properties are required:

  • certmanager

Type: object
Must match regular expression: certmanager

Must not be:

Type: object

The following properties are required:

  • certmanager
  • secretName

The following properties are required:

  • certificate

Type: object
Must match regular expression: certfile

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager

The following properties are required:

  • secretName

Type: object
Must match regular expression: existing

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager
  • secretName

Type: object
Must match regular expression: external

Type: object

Certificate file

Type: string Default: "appserviceCertificate"

Appservice Certificate

Type: string Default: "appservicePrivateKey"

Appservice Private Key

Type: object

The cert-manager properties, if enabled

Type: string

The name of cert-manager ClusterIssuer to use

Type: enum (of string)

The TLS mode of this component ingress. Use external if TLS is managed externaly to the cluster, certmanager if you want to use cert manager to issue certificate automatically, or certfile if you want to upload certificate files to kubernetes tls secrets manually.

Must be one of:

  • "certmanager"
  • "external"
  • "certfile"
  • "existing"

Type: string

The name of a secret in the cluster that contains TLS certificates

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object

Settings dedicated to k8s ingresses

Type: object Default: {}

Defines the annotations to add

Each additional property must conform to the following schema

Type: string

Type: string

Fully qualified domain name of the ingress

Type: string

An optional IngressClass name to be used for this ingress. Optional if you are managing ingress / loadbalancer externally.

Type: object Default: {}

Type: enum (of string)

Default service type

Must be one of:

  • "ClusterIP"
  • "NodePort"
  • "LoadBalancer"



Must not be:

Type: object

The following properties are required:

  • certificate
  • secretName

The following properties are required:

  • certmanager

Type: object
Must match regular expression: certmanager

Must not be:

Type: object

The following properties are required:

  • certmanager
  • secretName

The following properties are required:

  • certificate

Type: object
Must match regular expression: certfile

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager

The following properties are required:

  • secretName

Type: object
Must match regular expression: existing

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager
  • secretName

Type: object
Must match regular expression: external

Type: object

Certificate file

Type: string Default: "uiCertificate"

UI Certificate

Type: string Default: "uiPrivateKey"

UI Private Key

Type: object

The cert-manager properties, if enabled

Type: string

The name of cert-manager ClusterIssuer to use

Type: enum (of string)

The TLS mode of this component ingress. Use external if TLS is managed externaly to the cluster, certmanager if you want to use cert manager to issue certificate automatically, or certfile if you want to upload certificate files to kubernetes tls secrets manually.

Must be one of:

  • "certmanager"
  • "external"
  • "certfile"
  • "existing"

Type: string

The name of a secret in the cluster that contains TLS certificates

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object Default: {}

k8s properties of the pipe workloads inside adminbot component

Type: object Default: {}

Settings dedicated to k8s

Type: object Default: {}

The annotations to add to every workloads and ingresses deployed

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: object Default: {}

Settings dedicated to monitoring

Type: object Default: {}

Service monitor settings

Type: enum (of string) Default: "auto"

Enable or disable monitoring using ServiceMonitor resources

Must be one of:

  • "enable"
  • "disable"
  • "auto"

Type: object Default: {}

Settings dedicated to k8s storage



Must not be:

Type: object

The following properties are required:

  • persistentVolumeClaimName

The following properties are required:

  • size

Must not be:

Type: object

The following properties are required:

  • size

The following properties are required:

  • persistentVolumeClaimName

Type: string

The persistent volume claim name to use to store the media


The volume size to use to store the media

Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[MGTPE])?$

Type: string

The storage class name to use

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "1Gi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "10m", "memory": "100Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 10006

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 10006

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: string Default: "adminbot"

The secret data associated to adminbot config The secret key associated to config.backupPassphraseSecretKey must be present.

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object

Deploys an Auditbot which automatically joins rooms and logs every messages to configured outputs.



Must not be:

Type: object

The following properties are required:

  • centralAccess

The following properties are required:

  • bot

Must not be:

Type: object

The following properties are required:

  • bot

The following properties are required:

  • centralAccess

Type: string

Deprecated. Moved to bot property.

Type: object

The auditbot configuration

Type: string Default: "backupPassphrase"

The key of the k8s secret containing the auditbot backup passphrase

Type: boolean Default: false

Enable audit of Direct Messages

Type: boolean Default: true

Audit only rooms local to the homeserver

Type: enum (of string) Default: "info"

Must be one of:

  • "info"
  • "debug"
  • "warning"


Outputs of Auditbot logs


Must not be:

Type: object

The following properties are required:

  • logfile
  • s3

The following properties are required:

  • azure

Must not be:

Type: object

The following properties are required:

  • logfile
  • azure

The following properties are required:

  • s3

Must not be:

Type: object

The following properties are required:

  • s3
  • azure

The following properties are required:

  • logfile
Type: object

The following properties are required:

  • logfile
  • s3

Type: object

Azure Blob Storage container configuration

Type: string

Azure Container connection string.

Type: string

Azure container name.

Type: string Default: ""

File key prefix

Type: object

Logfile rotation parameters

Type: number

Number of files to keep

Value must be greater or equal to 1

Type: string

Logfile size before rotation

Type: object

S3 Bucket to send logs to

Type: string Default: "s3AccessKeyId"

Auditbot access key secret key

Type: string

S3 bucket name

Type: string

Bucket endpoint

Type: string

Bucket key prefix

Type: string

Bucket region

Type: string Default: "s3SecretAccessKey"

Auditbot access key secret key

Type: array of object Default: []

List of remote federated homeservers

No Additional Items

Each item of this array must be:

Type: object

Remote federated homeserver

Type: string Default: "remoteAdminUserSecretKey"

The admin user token secret key


Appservice tokens authentication


Must not be:

Type: object

The following properties are required:

  • manual

The following properties are required:

  • auto

Must not be:

The following properties are required:

  • manual

Type: object

Automatically determine appservice tokens authentication. Only possible when using Element Enterprise Server Suite.

Type: string Default: "remoteGenericSharedSecret"

The remote federated homeserver generic shared secret

Type: object

Manually configure appservice tokens authentication.

Type: string Default: "remoteASToken"

The remote federated homeserver as token secret key

Type: string Default: "remoteHSToken"

The remote federated homeserver hs token secret key

Type: string Default: "auditbot"

Bot username.

Type: string

Deprecated. Moved to bot property.


Allow access from a central auditbot

Type: object

The following properties are required:

  • manualAppService

Type: string

The URL of the appservice of the central auditbot

Must match regular expression: ^https:\/\/[A-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$

Type: object

Manually configure appservice tokens. It should not be necessary if using Element Enterprise Server Suite.

Type: string Default: "centralASToken"

The remote federated homeserver as token secret key

Type: string Default: "centralHSToken"

The remote federated homeserver hs token secret key


Local Auditbot security settings. Deprecated as its now integrated in AdminUI.

Type: object

The following properties are required:

  • ipRangesAllowed

Type: array of string

IP ranges allowed to access auditbot UI

No Additional Items

Each item of this array must be:

Type: string

An IPv4 or IPV6 range

Type: enum (of string) Default: "useGlobalSetting"

TLS Verification

Must be one of:

  • "useGlobalSetting"
  • "force"
  • "disable"

Type: object Default: {}

Type: object

Deprecated, Auditbot no longer uses a separate Access Element Web instance

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: number

The number of access Element Web for Auditbot replicas

Value must be greater or equal to 1

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "200Mi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "50m", "memory": "50Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 10004

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 10004

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: object Default: {}

Settings dedicated to k8s

Type: object Default: {}

The annotations to add to every workloads and ingresses deployed

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: object Default: {}

k8s properties of the haproxy workloads inside auditbot component

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "200Mi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "10m", "memory": "100Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 10017

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 10017

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.


Type: object

The following properties are required:

  • appservice

Type: object

Settings dedicated to k8s ingresses

Type: object Default: {}

Defines the annotations to add

Each additional property must conform to the following schema

Type: string

Type: string

Fully qualified domain name of the ingress

Type: string

An optional IngressClass name to be used for this ingress. Optional if you are managing ingress / loadbalancer externally.

Type: object Default: {}

Type: enum (of string)

Default service type

Must be one of:

  • "ClusterIP"
  • "NodePort"
  • "LoadBalancer"



Must not be:

Type: object

The following properties are required:

  • certificate
  • secretName

The following properties are required:

  • certmanager

Type: object
Must match regular expression: certmanager

Must not be:

Type: object

The following properties are required:

  • certmanager
  • secretName

The following properties are required:

  • certificate

Type: object
Must match regular expression: certfile

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager

The following properties are required:

  • secretName

Type: object
Must match regular expression: existing

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager
  • secretName

Type: object
Must match regular expression: external

Type: object

Certificate file

Type: string Default: "appserviceCertificate"

Appservice Certificate

Type: string Default: "appservicePrivateKey"

Appservice Private Key

Type: object

The cert-manager properties, if enabled

Type: string

The name of cert-manager ClusterIssuer to use

Type: enum (of string)

The TLS mode of this component ingress. Use external if TLS is managed externaly to the cluster, certmanager if you want to use cert manager to issue certificate automatically, or certfile if you want to upload certificate files to kubernetes tls secrets manually.

Must be one of:

  • "certmanager"
  • "external"
  • "certfile"
  • "existing"

Type: string

The name of a secret in the cluster that contains TLS certificates

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object

Settings dedicated to k8s ingresses

Type: object Default: {}

Defines the annotations to add

Each additional property must conform to the following schema

Type: string

Type: string

Fully qualified domain name of the ingress

Type: string

An optional IngressClass name to be used for this ingress. Optional if you are managing ingress / loadbalancer externally.

Type: object Default: {}

Type: enum (of string)

Default service type

Must be one of:

  • "ClusterIP"
  • "NodePort"
  • "LoadBalancer"



Must not be:

Type: object

The following properties are required:

  • certificate
  • secretName

The following properties are required:

  • certmanager

Type: object
Must match regular expression: certmanager

Must not be:

Type: object

The following properties are required:

  • certmanager
  • secretName

The following properties are required:

  • certificate

Type: object
Must match regular expression: certfile

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager

The following properties are required:

  • secretName

Type: object
Must match regular expression: existing

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager
  • secretName

Type: object
Must match regular expression: external

Type: object

Certificate file

Type: string Default: "uiCertificate"

UI Certificate

Type: string Default: "uiPrivateKey"

UI Private Key

Type: object

The cert-manager properties, if enabled

Type: string

The name of cert-manager ClusterIssuer to use

Type: enum (of string)

The TLS mode of this component ingress. Use external if TLS is managed externaly to the cluster, certmanager if you want to use cert manager to issue certificate automatically, or certfile if you want to upload certificate files to kubernetes tls secrets manually.

Must be one of:

  • "certmanager"
  • "external"
  • "certfile"
  • "existing"

Type: string

The name of a secret in the cluster that contains TLS certificates

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object Default: {}

k8s properties of the pipe workloads inside auditbot component

Type: object Default: {}

Settings dedicated to k8s

Type: object Default: {}

The annotations to add to every workloads and ingresses deployed

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: object Default: {}

Settings dedicated to monitoring

Type: object Default: {}

Service monitor settings

Type: enum (of string) Default: "auto"

Enable or disable monitoring using ServiceMonitor resources

Must be one of:

  • "enable"
  • "disable"
  • "auto"

Type: object Default: {}

Settings dedicated to k8s storage



Must not be:

Type: object

The following properties are required:

  • persistentVolumeClaimName

The following properties are required:

  • size

Must not be:

Type: object

The following properties are required:

  • size

The following properties are required:

  • persistentVolumeClaimName

Type: string

The persistent volume claim name to use to store the media


The volume size to use to store the media

Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[MGTPE])?$

Type: string

The storage class name to use

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "1Gi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "10m", "memory": "100Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 10007

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 10007

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: string Default: "auditbot"

The secret data associated to adminbot config The secret key associated to config.backupPassphraseSecretKey must be present. For every remote server, the keys associated to the following must be present - remote.appservice.genericSharedSecretKey or remote.appservice.hsTokenSecretKey and remote.appservice.asTokenSecretKey. The key associated to remote.adminUserTokenSecretKey must also be present.

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object

Coturn provides a STUN and a TURN server. The STUN server can be used by Element Call and Jitsi so that device are able to detect their access IP. The TURN server can be used by Jitsi to provide WebRTC relaying.

Default: {}

Type: object
Type: object

The following properties are required:

  • externalIp

Type: boolean Default: true

Whether to enable TCP for STUN/TURN

Type: string

Coturn external IP

Type: boolean Default: false

Whether or not to use host mode networking.

Default: {"allowedIpRanges": [], "deniedIpv4Ranges": ["0.0.0.0/8", "10.0.0.0/8", "100.64.0.0/10", "127.0.0.0/8", "169.254.0.0/16", "172.16.0.0/12", "192.0.0.0/24", "192.0.2.0/24", "192.88.99.0/24", "192.168.0.0/16", "198.18.0.0/15", "198.51.100.0/24", "203.0.113.0/24", "224.0.0.0/4", "240.0.0.0/4"], "deniedIpv6Ranges": ["fe80::/10", "fc00::/7", "::1/128", "2001:db8::/32", "ff00::/8", "fec0::/10"]}

Type: object

The following properties are required:

  • deniedIpv4Ranges
Type: object

The following properties are required:

  • deniedIpv6Ranges
Type: object

The following properties are required:

  • allowedIpRanges

Type: array of string

Allowed peer IPs that would otherwise be blocked by deniedIpv4Ranges or deniedIpv6Ranges

No Additional Items

Each item of this array must be:

Type: array of string

Denied IPv4 range

No Additional Items

Each item of this array must be:

Type: array of string

Denied IPv6 range

No Additional Items

Each item of this array must be:

Type: object

Type: object Default: {}

Settings dedicated to k8s

Type: object Default: {}

The annotations to add to every workloads and ingresses deployed

Each additional property must conform to the following schema

Type: string

Defines the annotations to add


Services to expose for Coturn

Type: object

The following properties are required:

  • stunTurn
  • fqdn
Type: object

The following properties are required:

  • stunTurnTls
  • fqdn
Type: object

The following properties are required:

  • relayUdpPorts
  • fqdn

Type: string

Fully qualified domain name where STUN/TURN is available at

Type: object

The service unsecured port

Type: object

The port range on which the service will be accessible

Type: number

The port range start port

Type: number

The port range end port

Type: enum (of string) Default: "NodePort"

Kubernetes service port type

Must be one of:

  • "NodePort"
  • "HostPort"

Type: object Default: {}

The service port

Type: number Default: 31478

The port on which the service will be accessible

Type: enum (of string) Default: "NodePort"

Kubernetes service port type

Must be one of:

  • "NodePort"
  • "HostPort"

Type: object

The service port

Type: number Default: 31349

The port on which the service will be accessible

Type: enum (of string) Default: "NodePort"

Kubernetes service port type

Must be one of:

  • "NodePort"
  • "HostPort"



Must not be:

Type: object

The following properties are required:

  • secretName

The following properties are required:

  • certificate

Type: object
Must match regular expression: certfile

Must not be:

Type: object

The following properties are required:

  • certificate

The following properties are required:

  • secretName

Type: object
Must match regular expression: existing

Type: object

Certificate file

Type: string Default: "coturnCertificate"

The TLS certificate file for the coturn fqdn

Type: string Default: "coturnPrivateKey"

The TLS private key file for the coturn fqdn

Type: enum (of string)

The TLS mode of the service.

Must be one of:

  • "certfile"
  • "existing"

Type: string

The name of a secret in the cluster that contains TLS certificates

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "200Mi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "50m", "memory": "50Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 20009

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 20009

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: string Default: "coturn"

The secret data associated to Coturn config

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object

VoIP group calls powered by Matrix, implementing MatrixRTC with SFU backend.

Type: object Default: {}

Type: string Default: "{}"

Element call additional configuration.

Type: number Default: 8

Maximum number of participants in a call

Type: object Default: {}

SFU server settings. The SFU is the component which will forward WebRTC streams to call participants.

Type: object Default: {}

Logging settings

Type: enum (of string) Default: "info"

The maximum level of log output

Must be one of:

  • "info"
  • "debug"
  • "warning"
  • "error"

Default: {"publicIPDetection": "use_stun"}

Configure SFU networking.


Must not be:

Type: object

The following properties are required:

  • manualIP

Type: object
Must match regular expression: use_stun

Must not be:

Type: object

The following properties are required:

  • manualIP

Type: object
Must match regular expression: advertise_node_ip
Type: object

The following properties are required:

  • manualIP

Type: object
Must match regular expression: manual

Type: boolean Default: false

Whether or not to use host mode networking.

Type: string

Manually enter IP to advertise to clients.

Type: enum (of string) Default: "use_stun"

How Jitsi choose its public IP to advertise

Must be one of:

  • "use_stun"
  • "advertise_node_ip"
  • "manual"

Type: array of string

The stun servers to allow the SFU to find their public IP address and to allow connecting users to lookup their IP address. If the list is empty or not defined, it will default to Coturn deployed with Element Deployment. If coturn is not deployed, it will fallback to the defaults in LiveKit of Google's STUN servers.

No Additional Items

Each item of this array must be:

Type: object Default: {}

You can override Kubernetes configuration for each component of Element Call

Type: object Default: {}

Settings dedicated to k8s

Type: object Default: {}

The annotations to add to every workloads and ingresses deployed

Each additional property must conform to the following schema

Type: string

Defines the annotations to add


Services to expose for LiveKit


Must not be:

Type: object

The following properties are required:

  • rtcUdpPorts

The following properties are required:

  • rtcTcp
  • rtcMuxedUdp

Must not be:

Type: object

The following properties are required:

  • rtcMuxedUdp

The following properties are required:

  • rtcTcp
  • rtcUdpPorts

Type: object

The service port

Type: number Default: 30882

The port on which the service will be accessible

Type: enum (of string) Default: "NodePort"

Kubernetes service port type

Must be one of:

  • "NodePort"
  • "HostPort"

Type: object Default: {}

The service port

Type: number Default: 30881

The port on which the service will be accessible

Type: enum (of string) Default: "NodePort"

Kubernetes service port type

Must be one of:

  • "NodePort"
  • "HostPort"

Type: object

The service unsecured port

Type: object

The port range on which the service will be accessible

Type: number

The port range start port

Type: number

The port range end port

Type: enum (of string) Default: "NodePort"

Kubernetes service port type

Must be one of:

  • "NodePort"
  • "HostPort"

Type: object

Settings dedicated to k8s ingresses

Type: object Default: {}

Defines the annotations to add

Each additional property must conform to the following schema

Type: string

Type: string

Fully qualified domain name of the ingress

Type: string

An optional IngressClass name to be used for this ingress. Optional if you are managing ingress / loadbalancer externally.

Type: object Default: {}

Type: enum (of string)

Default service type

Must be one of:

  • "ClusterIP"
  • "NodePort"
  • "LoadBalancer"



Must not be:

Type: object

The following properties are required:

  • certificate
  • secretName

The following properties are required:

  • certmanager

Type: object
Must match regular expression: certmanager

Must not be:

Type: object

The following properties are required:

  • certmanager
  • secretName

The following properties are required:

  • certificate

Type: object
Must match regular expression: certfile

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager

The following properties are required:

  • secretName

Type: object
Must match regular expression: existing

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager
  • secretName

Type: object
Must match regular expression: external

Type: object

Certificate file

Type: string Default: "certificate"

Element Call Certificate

Type: string Default: "privateKey"

Element Call Private Key

Type: object

The cert-manager properties, if enabled

Type: string

The name of cert-manager ClusterIssuer to use

Type: enum (of string)

The TLS mode of this component ingress. Use external if TLS is managed externaly to the cluster, certmanager if you want to use cert manager to issue certificate automatically, or certfile if you want to upload certificate files to kubernetes tls secrets manually.

Must be one of:

  • "certmanager"
  • "external"
  • "certfile"
  • "existing"

Type: string

The name of a secret in the cluster that contains TLS certificates

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object Default: {}

Type: object

Settings dedicated to k8s ingresses

Type: object Default: {}

Defines the annotations to add

Each additional property must conform to the following schema

Type: string

Type: string

Fully qualified domain name of the ingress

Type: string

An optional IngressClass name to be used for this ingress. Optional if you are managing ingress / loadbalancer externally.

Type: object Default: {}

Type: enum (of string)

Default service type

Must be one of:

  • "ClusterIP"
  • "NodePort"
  • "LoadBalancer"



Must not be:

Type: object

The following properties are required:

  • certificate
  • secretName

The following properties are required:

  • certmanager

Type: object
Must match regular expression: certmanager

Must not be:

Type: object

The following properties are required:

  • certmanager
  • secretName

The following properties are required:

  • certificate

Type: object
Must match regular expression: certfile

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager

The following properties are required:

  • secretName

Type: object
Must match regular expression: existing

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager
  • secretName

Type: object
Must match regular expression: external

Type: object

Certificate file

Type: string Default: "livekitSFUCertificate"

LiveKit SFU Certificate

Type: string Default: "livekitSFUPrivateKey"

LiveKit SFU Private Key

Type: object

The cert-manager properties, if enabled

Type: string

The name of cert-manager ClusterIssuer to use

Type: enum (of string)

The TLS mode of this component ingress. Use external if TLS is managed externaly to the cluster, certmanager if you want to use cert manager to issue certificate automatically, or certfile if you want to upload certificate files to kubernetes tls secrets manually.

Must be one of:

  • "certmanager"
  • "external"
  • "certfile"
  • "existing"

Type: string

The name of a secret in the cluster that contains TLS certificates

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object Default: {}

k8s properties of the LiveKit JWT component workloads

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "20Mi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "50m", "memory": "20Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 10033

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 10033

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: object Default: {}

k8s properties of the redis workloads

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "50Mi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "50m", "memory": "50Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 10034

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 10034

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: object Default: {}

k8s properties of the LiveKit SFU component workloads

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "4Gi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "100m", "memory": "150Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 10030

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 10030

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: number

The number of Element Call replicas

Value must be greater or equal to 1

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "200Mi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "50m", "memory": "50Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 10014

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 10014

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: string Default: "element-call"

The secret data associated to element call config If ingress is tls mode is using certificate, key matching k8s.ingress.certificate.certFileSecretKey and k8s.ingress.certificate.privateKeySecretKey must be present

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object

This is the user interface used by desktops to access Matrix rooms.

Type: object Default: {}

Type: string

Element web additional configuration.

Type: object Default: {}

You can override Kubernetes configuration for each component of Element Web

Type: object Default: {}

Settings dedicated to k8s

Type: object Default: {}

The annotations to add to every workloads and ingresses deployed

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: object

Settings dedicated to k8s ingresses

Type: object Default: {}

Defines the annotations to add

Each additional property must conform to the following schema

Type: string

Type: string

Fully qualified domain name of the ingress

Type: string

An optional IngressClass name to be used for this ingress. Optional if you are managing ingress / loadbalancer externally.

Type: object Default: {}

Type: enum (of string)

Default service type

Must be one of:

  • "ClusterIP"
  • "NodePort"
  • "LoadBalancer"



Must not be:

Type: object

The following properties are required:

  • certificate
  • secretName

The following properties are required:

  • certmanager

Type: object
Must match regular expression: certmanager

Must not be:

Type: object

The following properties are required:

  • certmanager
  • secretName

The following properties are required:

  • certificate

Type: object
Must match regular expression: certfile

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager

The following properties are required:

  • secretName

Type: object
Must match regular expression: existing

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager
  • secretName

Type: object
Must match regular expression: external

Type: object

Certificate file

Type: string Default: "elementWebCertificate"

ElementWeb Certificate

Type: string Default: "elementWebPrivateKey"

ElementWeb Private Key

Type: object

The cert-manager properties, if enabled

Type: string

The name of cert-manager ClusterIssuer to use

Type: enum (of string)

The TLS mode of this component ingress. Use external if TLS is managed externaly to the cluster, certmanager if you want to use cert manager to issue certificate automatically, or certfile if you want to upload certificate files to kubernetes tls secrets manually.

Must be one of:

  • "certmanager"
  • "external"
  • "certfile"
  • "existing"

Type: string

The name of a secret in the cluster that contains TLS certificates

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: number

The number of Element Web replicas

Value must be greater or equal to 1

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "200Mi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "50m", "memory": "50Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 10004

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 10004

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: string Default: "element-web"

The secret data associated to synapse config If ingress is tls mode is using certificate, key matching k8s.ingress.certificate.certFileSecretKey and k8s.ingress.certificate.privateKeySecretKey must be present

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object

This is a connector to your user management service to synchronize their groups memberships with spaces and rooms memberships.

Type: object

Type: array of string Default: []

Optionally configures a list of users to allow in any groupsync-managed room

No Additional Items

Each item of this array must be:

Type: string

A user to allow in any groupsync-managed room

Type: array of object Default: []

A list of rooms to configure by default in all spaces

No Additional Items

Each item of this array must be:

Type: object

A room to configure by default in all spaces

Type: string

The room ID in groupsync config. Changing this value creates a new room instead of renaming the existing one. It must be unique, and it can be generated using a UUID.

Type: object

The room properties

Default: {"enableRoomsGarbageCollection": false}

Deprovisioning options

Type: object

The following properties are required:

  • usersSoftDeletePeriod

Type: boolean Default: false

Enable rooms Garbage collection

Type: string

When users get removed from the directory their accounts will only be deactivated, but their erasure will be delayed by the specified time period, allowing them to be reactivated in the meantime. The specified period will be translated into seconds, so won't account for things like DST, leap seconds etc. Users will be deleted no sooner than that, but may be removed a bit later, depending on other Group Sync operations. The format is numeric and unit being one of s, m, h, d (for example, "24h", "31d" etc.)

Must match regular expression: ^[0-9]+[smhd]$

Type: boolean Default: true

Enable Dry Run mode to avoid any unexpected change

Type: boolean Default: true

Enable or disable invite to public rooms in spaces

Type: enum (of string) Default: "info"

Must be one of:

  • "info"
  • "debug"
  • "warn"



Must not be:

Type: object

The following properties are required:

  • msgraph
  • scim

The following properties are required:

  • ldap

Must not be:

Type: object

The following properties are required:

  • ldap
  • scim

The following properties are required:

  • msgraph

Must not be:

Type: object

The following properties are required:

  • ldap
  • msgraph

The following properties are required:

  • scim

Type: object

Type: string

The LDAP attribute to request space names

Must match regular expression: [\S\s]+[\S]+

Type: string

The LDAP attribute to requiest user id

Must match regular expression: [\S\s]+[\S]+

Type: string

The LDAP base DN

Must match regular expression: [\S\s]+[\S]+

Type: string

The LDAP bind DN

Must match regular expression: [\S\s]+[\S]+

Type: string Default: "ldapBindPassword"

The LDAP bind password

Type: number Default: 60

the ldap check in seconds

Type: string

An additional ldap filter

Type: string

The LDAP URI groupsync will use to request users

Must match regular expression: ^ldaps?:\/\/.+$

Type: object

Type: string Default: "graph.microsoft.com"

MS Graph base URL

Type: string

The MSGraph client id

Must match regular expression: [\S\s]+[\S]+

Type: string Default: "msgraphClientSecret"

The key of the k8s secret containing MSGraph client secret

Type: array of string Default: ["https://graph.microsoft.com/.default"]

Specific scopes to set for graph to use. Should be modified if the base url is changed.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: string

An MSGraph scope, in the form of a URL.

Must match regular expression: ^http(s?)://

Type: string

The MSGraph tenant id

Must match regular expression: [\S\s]+[\S]+

Type: object

Configures SCIM. Please configure the SCIM ingress as well.

Type: string

The scim client id

Must match regular expression: [\S\s]+[\S]+

Type: string Default: "username"

The SCIM Mapping to get the user id

Must match regular expression: [\S\s]+[\S]+

Type: enum (of string) Default: "never"

Should SCIM user creation register a Matrix account for the user.

Must be one of:

  • "always"
  • "if-missing"
  • "never"

Type: boolean Default: false

Should SCIM responses wait for Matrix provisioning to complete.

Type: string Default: ""

Type: object Default: {"displayName": true, "emails": true}

If specified, attribute sync will be limited to the attributes listed here. By default all available attributes are synced.

Type: boolean

True to sync displayName attributes.

Type: boolean

True to sync emails attributes.

Type: enum (of string) Default: "useGlobalSetting"

TLS Verification

Must be one of:

  • "useGlobalSetting"
  • "force"
  • "disable"

Type: object Default: {}

You can override Kubernetes configuration for each component of Group Sync

Type: object Default: {}

Settings dedicated to k8s

Type: object Default: {}

The annotations to add to every workloads and ingresses deployed

Each additional property must conform to the following schema

Type: string

Defines the annotations to add


Settings dedicated to k8s ingresses

Type: object

The following properties are required:

  • scim

Type: object

Settings dedicated to k8s ingresses

Type: object Default: {}

Defines the annotations to add

Each additional property must conform to the following schema

Type: string

Type: string

Fully qualified domain name of the ingress

Type: string

An optional IngressClass name to be used for this ingress. Optional if you are managing ingress / loadbalancer externally.

Type: object Default: {}

Type: enum (of string)

Default service type

Must be one of:

  • "ClusterIP"
  • "NodePort"
  • "LoadBalancer"



Must not be:

Type: object

The following properties are required:

  • certificate
  • secretName

The following properties are required:

  • certmanager

Type: object
Must match regular expression: certmanager

Must not be:

Type: object

The following properties are required:

  • certmanager
  • secretName

The following properties are required:

  • certificate

Type: object
Must match regular expression: certfile

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager

The following properties are required:

  • secretName

Type: object
Must match regular expression: existing

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager
  • secretName

Type: object
Must match regular expression: external

Type: object

Certificate file

Type: string Default: "scimCertificateSecretKey"

SCIM Server Certificate

Type: string Default: "scimPrivateKeySecretKey"

SCIM Server Private Key

Type: object

The cert-manager properties, if enabled

Type: string

The name of cert-manager ClusterIssuer to use

Type: enum (of string)

The TLS mode of this component ingress. Use external if TLS is managed externaly to the cluster, certmanager if you want to use cert manager to issue certificate automatically, or certfile if you want to upload certificate files to kubernetes tls secrets manually.

Must be one of:

  • "certmanager"
  • "external"
  • "certfile"
  • "existing"

Type: string

The name of a secret in the cluster that contains TLS certificates

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object Default: {}

Settings dedicated to monitoring

Type: object Default: {}

Service monitor settings

Type: enum (of string) Default: "auto"

Enable or disable monitoring using ServiceMonitor resources

Must be one of:

  • "enable"
  • "disable"
  • "auto"

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "1000Mi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "100m", "memory": "150Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 10010

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 10010

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: string Default: "groupsync"

The secret data associated to groupsync config. If using the ldap source, key matching config.source.ldap.bindPasswordSecretKey must be present. If using the 'msgraph' source, key matching config.source.msgraph.clientSecretSecretKey must be present. If using the scim source, and the ingress is using certfile tls mode, keys matching k8s.ingress.scim.certificate.certFileSecretKey and k8s.ingress.scim.certificate.privateKeySecretKey must be present.

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object

Integrate with external code platforms (Github, Gitlab), other platforms (JIRA) and custom webhooks


Type: object

The following properties are required:

  • gitlab
Type: object

The following properties are required:

  • jira
Type: object

The following properties are required:

  • generic
Type: object

The following properties are required:

  • github

Type: object Default: {}

The hookshot bot

Type: string Default: ""

The hookshot bot avatar mxc url

Type: string Default: "Hookshot Bot"

The hookshot bot display name

Type: string Default: "hookshot"

The hookshot bot username

Type: boolean Default: true

Whether to enable separate bots for each Hookshot service

Type: object Default: {}

Configuration of hookshot generic webhooks

Type: boolean Default: true

To allow JS Transformations functions

Type: boolean Default: true

Enable or disable inbound webhooks

Type: boolean Default: false

Enable or disable outbound webhooks

Type: string Default: "webhooks_"

webhooks user id prefixes

Type: object

Configuration of hookshot github integration

Type: string

Github application auth id


The default options to apply to github hooks

Type: object

The following properties are required:

  • enableHooks
Type: object

The following properties are required:

  • ignoreHooks
Type: object

The following properties are required:

  • includingLabels
Type: object

The following properties are required:

  • excludingLabels
Type: object

The following properties are required:

  • newIssue
Type: object

The following properties are required:

  • workflowRun
Type: object

The following properties are required:

  • prDiff

Type: string Default: "!gh"

Choose the prefix to use when sending commands to the bot. Ideally starts with "!" !gh

Type: array of enum (of string)

Enable notifications for some event types

No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • "issue.created"
  • "issue.changed"
  • "issue.edited"
  • "issue.labeled"
  • "pull_request.closed"
  • "pull_request.merged"
  • "pull_request.opened"
  • "pull_request.ready_for_review"
  • "pull_request.reviewed"
  • "release.created *"
  • "release.drafted"
  • "workflow.run.success"
  • "workflow.run.failure"
  • "workflow.run.neutral"
  • "workflow.run.cancelled"
  • "workflow.run.timed_out"
  • "workflow.run.stale"
  • "workflow.run.action_required"

Type: array of string

Never notify on issues matching these label names

No Additional Items

Each item of this array must be:

Type: string Default: "!ghlink"

Send a link to an issue/PR in the room when a user mentions a prefix followed by a number

Type: array of enum (of string)

Choose to exclude notifications for some event types

No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • "issue.created"
  • "issue.changed"
  • "issue.edited"
  • "issue.labeled"
  • "pull_request.closed"
  • "pull_request.merged"
  • "pull_request.opened"
  • "pull_request.ready_for_review"
  • "pull_request.reviewed"
  • "release.created *"
  • "release.drafted"
  • "workflow.run.success"
  • "workflow.run.failure"
  • "workflow.run.neutral"
  • "workflow.run.cancelled"
  • "workflow.run.timed_out"
  • "workflow.run.stale"
  • "workflow.run.action_required"

Type: array of string

Only notify on issues matching these label name

No Additional Items

Each item of this array must be:

Type: object

Configuration options for new issues

Type: array of string Default: []

Automatically set these labels on issues created via commands

No Additional Items

Each item of this array must be:

Type: object

Show a diff in the room when a PR is created, subject to limits

Type: boolean Default: true

Enable the PR diff

Type: number Default: 15

Max number of lines to display in the room


Configuration options for workflow run results

Type: object

The following properties are required:

  • matchingBranch
Type: object

The following properties are required:

  • includingWorkflows
Type: object

The following properties are required:

  • excludingWorkflows

Type: array of string

Never report workflow runs with a matching workflow name.

No Additional Items

Each item of this array must be:

Type: array of string

Only report workflow runs with a matching workflow name.

No Additional Items

Each item of this array must be:

Type: string

Only report workflow runs if it matches this regex.

Type: string Default: "githubKeyFile"

The key of the k8s secret containing github key file

Type: string

Github OAuth client id

Type: string Default: "githubOauthClientSecret"

The key of the k8s secret containing github oauth client secret

Type: string Default: "githubWebhookSecret"

The key of the k8s secret containing github webhook secret

Type: object

Gitlab hooks

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Gitlab instance name

Type: string

Gitlab instance URL

Type: string Default: "gitlabWebhookSecret"

The key of the k8s secret containing gitlab webhook secret

Type: object

Type: string

Jira OAuth client id

Type: string Default: "jiraOauthClientSecret"

The key of the k8s secret containing Jira oauth client secret

Type: string Default: "jiraWebhookSecret"

The key of the k8s secret containing Jira webhook secret

Type: enum (of string) Default: "info"

Must be one of:

  • "info"
  • "debug"
  • "warn"

Type: string Default: "hookshotPassKey"

The key of the k8s secret containing hookshot Pass Key secret

Type: string Default: "provisioningSecret"

The key of the k8s secret containing hookshot provisioning secret

Type: enum (of string) Default: "useGlobalSetting"

TLS Verification

Must be one of:

  • "useGlobalSetting"
  • "force"
  • "disable"

Type: object Default: {}

The hookshot widgets settings

Type: boolean Default: true

Deprecated - Not used since Appstore embeds widgets instead. Was - Add widgets on invite

Type: boolean Default: false

Add widgets to admin rooms

Type: array of string Default: ["192.168.122.0/24", "127.0.0.0/8", "10.0.0.0/8", "172.16.0.0/12", "100.64.0.0/10", "169.254.0.0/16", "192.88.99.0/24", "198.18.0.0/15", "192.0.2.0/24", "198.51.100.0/24", "203.0.113.0/24", "224.0.0.0/4", "::1/128", "fe80::/10", "fc00::/7", "2001:db8::/32", "ff00::/8", "fec0::/10"]

Which IP ranges should be disallowed when resolving homeserver IP addresses (for security reasons). Unless you know what you are doing, it is recommended to not change this.

No Additional Items

Each item of this array must be:

Type: string

An IP range, ipv4 or ipv6 format

Type: string Default: "Hookshot Configuration"

The hookshot widget title

Type: object Default: {}

You can override Kubernetes configuration for each component of Hookshot

Type: object Default: {}

Settings dedicated to k8s

Type: object Default: {}

The annotations to add to every workloads and ingresses deployed

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: object

Settings dedicated to k8s ingresses

Type: object Default: {}

Defines the annotations to add

Each additional property must conform to the following schema

Type: string

Type: string

Fully qualified domain name of the ingress

Type: string

An optional IngressClass name to be used for this ingress. Optional if you are managing ingress / loadbalancer externally.

Type: object Default: {}

Type: enum (of string)

Default service type

Must be one of:

  • "ClusterIP"
  • "NodePort"
  • "LoadBalancer"



Must not be:

Type: object

The following properties are required:

  • certificate
  • secretName

The following properties are required:

  • certmanager

Type: object
Must match regular expression: certmanager

Must not be:

Type: object

The following properties are required:

  • certmanager
  • secretName

The following properties are required:

  • certificate

Type: object
Must match regular expression: certfile

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager

The following properties are required:

  • secretName

Type: object
Must match regular expression: existing

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager
  • secretName

Type: object
Must match regular expression: external

Type: object

Certificate file

Type: string Default: "certificate"

Hookshot Server Certificate

Type: string Default: "privateKey"

Hookshot Server Private Key

Type: object

The cert-manager properties, if enabled

Type: string

The name of cert-manager ClusterIssuer to use

Type: enum (of string)

The TLS mode of this component ingress. Use external if TLS is managed externaly to the cluster, certmanager if you want to use cert manager to issue certificate automatically, or certfile if you want to upload certificate files to kubernetes tls secrets manually.

Must be one of:

  • "certmanager"
  • "external"
  • "certfile"
  • "existing"

Type: string

The name of a secret in the cluster that contains TLS certificates

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "350Mi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "100m", "memory": "100Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 10003

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 10003

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: string Default: "hookshot"

The secret data associated to hookshot config If ingress is tls mode is using certificate, key matching k8s.ingress.certificate.certFileSecretKey and k8s.ingress.certificate.privateKeySecretKey must be present

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object

Deploy an Hydrogen client.

Type: object Default: {}

Type: string

Hydrogen additional configuration as a JSON object.

Type: object Default: {}

Type: object Default: {}

Settings dedicated to k8s

Type: object Default: {}

The annotations to add to every workloads and ingresses deployed

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: object

Settings dedicated to k8s ingresses

Type: object Default: {}

Defines the annotations to add

Each additional property must conform to the following schema

Type: string

Type: string

Fully qualified domain name of the ingress

Type: string

An optional IngressClass name to be used for this ingress. Optional if you are managing ingress / loadbalancer externally.

Type: object Default: {}

Type: enum (of string)

Default service type

Must be one of:

  • "ClusterIP"
  • "NodePort"
  • "LoadBalancer"



Must not be:

Type: object

The following properties are required:

  • certificate
  • secretName

The following properties are required:

  • certmanager

Type: object
Must match regular expression: certmanager

Must not be:

Type: object

The following properties are required:

  • certmanager
  • secretName

The following properties are required:

  • certificate

Type: object
Must match regular expression: certfile

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager

The following properties are required:

  • secretName

Type: object
Must match regular expression: existing

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager
  • secretName

Type: object
Must match regular expression: external

Type: object

Certificate file

Type: string Default: "certificate"

Hydrogen Certificate

Type: string Default: "privateKey"

Hydrogen Private Key

Type: object

The cert-manager properties, if enabled

Type: string

The name of cert-manager ClusterIssuer to use

Type: enum (of string)

The TLS mode of this component ingress. Use external if TLS is managed externaly to the cluster, certmanager if you want to use cert manager to issue certificate automatically, or certfile if you want to upload certificate files to kubernetes tls secrets manually.

Must be one of:

  • "certmanager"
  • "external"
  • "certfile"
  • "existing"

Type: string

The name of a secret in the cluster that contains TLS certificates

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: number

The number of Hydrogen replicas

Value must be greater or equal to 1

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "200Mi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "50m", "memory": "50Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 10110

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 10110

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: string Default: "hydrogen"

The secret data associated to Hydrogen config

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object

This is a user-facing service integration tool to allow users to connect their rooms to external services.


Type: object

The following properties are required:

  • jitsiDomain

Type: boolean Default: false

Enable custom widgets in Appstore

Type: string

Select this option to manually configure an external Jitsi domain. If this option is not set, the installer will default to the domain of the installer deployed Jitsi.

Type: object Default: {}

Logging settings

Type: enum (of string) Default: "info"

The maximum level of log output

Must be one of:

  • "info"
  • "debug"
  • "warning"
  • "error"

Type: string

Optional Sentry DSN.

Type: boolean Default: false

Output logs in logstash format. Otherwise, logs are output in a console friendly format.

Type: object

Configuration of the PostgreSQL database

Type: string

PostgreSQL database name

Type: string

PostgreSQL database host

Type: string Default: "postgresPassword"

The PostgreSQL password

Type: integer Default: 5432

PostgreSQL port

Value must be greater or equal to 0 and lesser or equal to 65535

Type: enum (of string) Default: "no-verify"

TLS settings to use for the PostgreSQL connection

Must be one of:

  • "disable"
  • "no-verify"
  • "verify-full"

Type: string

PostgreSQL username

Type: object

Terms of Use

Type: array of object

Terms policies

No Additional Items

Each item of this array must be:

Type: object

Type: string

Policy version

Type: string

Terms revision

Type: enum (of string) Default: "useGlobalSetting"

TLS Verification

Must be one of:

  • "useGlobalSetting"
  • "force"
  • "disable"

Type: object Default: {}

You can override Kubernetes configuration for each component of Integrator

Type: object Default: {}

Settings dedicated to k8s

Type: object Default: {}

The annotations to add to every workloads and ingresses deployed

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: object

Settings dedicated to k8s ingresses

Type: object Default: {}

Defines the annotations to add

Each additional property must conform to the following schema

Type: string

Type: string

Fully qualified domain name of the ingress

Type: string

An optional IngressClass name to be used for this ingress. Optional if you are managing ingress / loadbalancer externally.

Type: object Default: {}

Type: enum (of string)

Default service type

Must be one of:

  • "ClusterIP"
  • "NodePort"
  • "LoadBalancer"



Must not be:

Type: object

The following properties are required:

  • certificate
  • secretName

The following properties are required:

  • certmanager

Type: object
Must match regular expression: certmanager

Must not be:

Type: object

The following properties are required:

  • certmanager
  • secretName

The following properties are required:

  • certificate

Type: object
Must match regular expression: certfile

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager

The following properties are required:

  • secretName

Type: object
Must match regular expression: existing

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager
  • secretName

Type: object
Must match regular expression: external

Type: object

Certificate file

Type: string Default: "certificate"

Integrator Certificate

Type: string Default: "privateKey"

Integrator Private Key

Type: object

The cert-manager properties, if enabled

Type: string

The name of cert-manager ClusterIssuer to use

Type: enum (of string)

The TLS mode of this component ingress. Use external if TLS is managed externaly to the cluster, certmanager if you want to use cert manager to issue certificate automatically, or certfile if you want to upload certificate files to kubernetes tls secrets manually.

Must be one of:

  • "certmanager"
  • "external"
  • "certfile"
  • "existing"

Type: string

The name of a secret in the cluster that contains TLS certificates

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: number

The number of replicas of the Integrator deployment

Value must be greater or equal to 1

Type: object Default: {}

The resources to use on this workload

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "400Mi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "50m", "memory": "100Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "350Mi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "100m", "memory": "100Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "200Mi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "50m", "memory": "50Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "200Mi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "50m", "memory": "50Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 10024

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 10024

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: string Default: "integrator"

The secret data associated to integrator config If ingress is tls mode is using certificate, key matching k8s.ingress.certificate.certFileSecretKey and k8s.ingress.certificate.privateKeySecretKey must be present

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: array of object

Deploy IRC Bridges to talk to IRC users and channels from Element.

No Additional Items

Each item of this array must be:

Type: object

Deploy an IRC Bridge to talk to IRC users and channels on a specific server from Element.

Type: object

Type: array of string Default: []

List of admins of this bridge

No Additional Items

Each item of this array must be:

Type: string

A MXID allowed to admin this bridge


IRC-Side configuration of the bridge

Type: object

The following properties are required:

  • address
Type: object

The following properties are required:

  • bot
  • address

Type: string Default: ""

Arbitrary extra config to inject into the IRCBridge server configuration as a YAML string

Type: string

The adress of the irc server

Type: object

Type: string Default: "MatrixBot"

Type: string Default: "ircBotPassword"

The irc bot password secret key

Type: string Default: "matrixbot"

Type: string Default: "keyFile"

The irc bridge key file

Type: object Default: {}

Logging settings

Type: enum (of string) Default: "info"

The maximum level of log output

Must be one of:

  • "info"
  • "debug"
  • "warning"
  • "error"

Type: object Default: {}

Matrix-Side configuration of the bridge

Type: string Default: ""

Arbitrary extra config to inject into the IRCBridge bridge configuration as a YAML string

Type: string Default: "irc_"

The bridge aliases prefix for the aliases mirrored from the irc server

Type: object Default: {}

Type: string Default: "ircbridgebot"

Type: number Default: 0

Drop Matrix messages which are older than this number of seconds, according to the event's originserverts. If the bridge is down for a while, the homeserver will attempt to send all missed events on reconnection. These events may be hours old, which can be confusing to IRC users if they are then bridged. This option allows these old messages to be dropped. CAUTION - This is a very coarse heuristic. Federated homeservers may have different clock times and hence produce different originserverts values, which may be old enough to cause all events from the homeserver to be dropped. Default - 0 (don't ever drop)

Type: boolean Default: true

Should presence be enabled for matrix clients on this bridge. If disabled on the homeserver then it should also be disabled here to avoid excess traffic.


The provisioning api parameters

Type: object

The following properties are required:

  • rules
Type: object

The following properties are required:

  • rmauLimit

Type: number Default: 300

The number of seconds to wait before giving up on getting a response from an IRC channel operator. If the channel operator does not respond within the allotted time period, the provisioning request will fail.

Type: number

Maximum number of montly active users, beyond which the bridge gets blocked (both ways)

Type: number Default: 50

Number of channels allowed to be bridged

Type: object

When provisioning a room, disallow rooms that match these critera

Type: object Default: {}

Type: array of string Default: []

These users will deny a room from being bridged.

No Additional Items

Each item of this array must be:

Type: array of string Default: []

These users never conflict, even if matching

No Additional Items

Each item of this array must be:

Type: object

The settings for counting users as active

Type: number Default: 30

Time before users are considered inactive again

Type: number Default: 1

The "grace period" before we start counting users as active

Type: string Default: "irc_"

The bridge users prefix for the users mirrored from the irc server

Type: object

Configuration of the PostgreSQL database

Type: string

PostgreSQL database name

Type: string

PostgreSQL database host

Type: string Default: "postgresPassword"

The PostgreSQL password

Type: integer Default: 5432

PostgreSQL port

Value must be greater or equal to 0 and lesser or equal to 65535

Type: enum (of string) Default: "no-verify"

TLS settings to use for the PostgreSQL connection

Must be one of:

  • "disable"
  • "no-verify"
  • "verify-full"

Type: string

PostgreSQL username

Type: enum (of string) Default: "useGlobalSetting"

TLS Verification

Must be one of:

  • "useGlobalSetting"
  • "force"
  • "disable"

Type: object Default: {}

Type: object Default: {}

Settings dedicated to k8s

Type: object Default: {}

The annotations to add to every workloads and ingresses deployed

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: object

Settings dedicated to IRC Ident listener

Type: object Default: {}

The service port

Type: number

The port on which the service will be accessible

Type: enum (of string) Default: "NodePort"

Kubernetes service port type

Must be one of:

  • "NodePort"
  • "HostPort"

Type: object Default: {}

Settings dedicated to monitoring

Type: object Default: {}

Service monitor settings

Type: enum (of string) Default: "auto"

Enable or disable monitoring using ServiceMonitor resources

Must be one of:

  • "enable"
  • "disable"
  • "auto"

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "1000Mi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "100m", "memory": "150Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 10170

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 10170

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: string Default: "irc-bridge"

The secret data associated to IRCBridge config

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object

Jitsi is a VOIP conferencing system.


Type: object

The following properties are required:

  • restrictToMatrixWidgets
Type: object

Type: string

The name of the application

Type: string

Additional config to inject in helm values

Default: {"enableP2P": true, "hostMode": false, "publicIPDetection": "use_stun"}

Configure Jitsi's JVB networking. The JVB is the component which will forward WebRTC streams to call participants.


Must not be:

Type: object

The following properties are required:

  • manualIP

The following properties are required:

  • hostMode
  • enableP2P

Type: object
Must match regular expression: use_stun

Must not be:

Type: object

The following properties are required:

  • manualIP
  • stunServers

The following properties are required:

  • hostMode
  • enableP2P

Type: object
Must match regular expression: advertise_node_ip

Must not be:

Type: object

The following properties are required:

  • stunServers

The following properties are required:

  • hostMode
  • enableP2P
  • manualIP

Type: object
Must match regular expression: manual

Type: boolean Default: true

Whether or not to enable P2P.

Type: boolean Default: false

Whether or not to use host mode networking.

Type: string

Manually enter IP to advertise to clients.

Type: enum (of string) Default: "use_stun"

How Jitsi choose its public IP to advertise

Must be one of:

  • "use_stun"
  • "advertise_node_ip"
  • "manual"

Type: array of string

The stun servers to allow JVBs to find their public IP address. This should be used if your NAT Gateway does not support hairpinning, If the list is empty, it will rely on the internal Coturn deployed with ElementDeployment if it is available.

No Additional Items

Each item of this array must be:


Configure restrictions around whether the Jitsi is restricted to Matrix widgets only and not directly usable


Must not be:

Type: object

The following properties are required:

  • externalHomeserverUrl
  • adminAccessTokenKey

The following properties are required:

  • syncPowerLevels
  • verifyTls
Type: object

The following properties are required:

  • externalHomeserverUrl
  • adminAccessTokenKey
  • syncPowerLevels
  • verifyTls

Type: string Default: "adminAccessToken"

The key in the k8s secret containing the admin access token for Jitsi's User Verification Service

Type: string

The URL of the external homeserver to use for authentication

Type: boolean Default: true

Whether power levels (moderator/admin) in Matrix rooms gets synchronised to what privileges the user has in the corresponding Jitsi widget

Type: enum (of string) Default: "useGlobalSetting"

TLS Verification

Must be one of:

  • "useGlobalSetting"
  • "force"
  • "disable"

Type: boolean Default: false

Whether or not to force sysctl values on the node using a sysctl daemonset

Type: string Default: "Europe/Paris"

The timezone of the application

Must match regular expression: [\w]+([\/\-\+]\w+)?

Type: enum (of string) Default: "useGlobalSetting"

TLS Verification

Must be one of:

  • "useGlobalSetting"
  • "force"
  • "disable"

Type: object Default: {}

Type: object Default: {}

Settings dedicated to k8s

Type: object Default: {}

The annotations to add to every workloads and ingresses deployed

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: object Default: {}

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "1Gi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "100m", "memory": "100Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 20003

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 20003

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: object

Settings dedicated to k8s ingresses

Type: object Default: {}

Defines the annotations to add

Each additional property must conform to the following schema

Type: string

Type: string

Fully qualified domain name of the ingress

Type: string

An optional IngressClass name to be used for this ingress. Optional if you are managing ingress / loadbalancer externally.

Type: object Default: {}

Type: enum (of string)

Default service type

Must be one of:

  • "ClusterIP"
  • "NodePort"
  • "LoadBalancer"



Must not be:

Type: object

The following properties are required:

  • certificate
  • secretName

The following properties are required:

  • certmanager

Type: object
Must match regular expression: certmanager

Must not be:

Type: object

The following properties are required:

  • certmanager
  • secretName

The following properties are required:

  • certificate

Type: object
Must match regular expression: certfile

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager

The following properties are required:

  • secretName

Type: object
Must match regular expression: existing

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager
  • secretName

Type: object
Must match regular expression: external

Type: object

Certificate file

Type: string Default: "certificate"

Jitsi Certificate

Type: string Default: "privateKey"

Jitsi Private Key

Type: object

The cert-manager properties, if enabled

Type: string

The name of cert-manager ClusterIssuer to use

Type: enum (of string)

The TLS mode of this component ingress. Use external if TLS is managed externaly to the cluster, certmanager if you want to use cert manager to issue certificate automatically, or certfile if you want to upload certificate files to kubernetes tls secrets manually.

Must be one of:

  • "certmanager"
  • "external"
  • "certfile"
  • "existing"

Type: string

The name of a secret in the cluster that contains TLS certificates

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object Default: {}

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "1Gi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "100m", "memory": "200Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 20004

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 20004

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: object Default: {}

Type: object Default: {}

Settings dedicated to monitoring

Type: object Default: {}

Service monitor settings

Type: enum (of string) Default: "auto"

Enable or disable monitoring using ServiceMonitor resources

Must be one of:

  • "enable"
  • "disable"
  • "auto"

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: number

The number of JVBs per shard

Value must be greater or equal to 1

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "6Gi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "300m", "memory": "300Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 20000

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 20000

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: object Default: {}

Type: object Default: {}

Settings dedicated to monitoring

Type: object Default: {}

Service monitor settings

Type: enum (of string) Default: "auto"

Enable or disable monitoring using ServiceMonitor resources

Must be one of:

  • "enable"
  • "disable"
  • "auto"

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "1Gi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "50m", "memory": "100Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 20001

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 20001

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: object Default: {}

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "100Mi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "10m", "memory": "50Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 20005

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 0

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: object Default: {}

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: number

The number of User Verification Service replicas in total

Value must be greater or equal to 1

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "300Mi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "50m", "memory": "100Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 20006

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 20006

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: object Default: {}

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: number

The number of Jitsi Web replicas per shard

Value must be greater or equal to 1

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "1Gi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "50m", "memory": "50Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 20002

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 20002

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: string Default: "jitsi"

The secret data associated to Jitsi config

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object

This is a Matrix Authentication Service. This manages all user account settings. Your upstream OIDC providers (as configured under Synapse) must allow /upstream/callback/ from the Matrix Authentication Service domain as valid redirect URIs


Type: object

The following properties are required:

  • email

Type: array of string Default: []

A list of Matrix IDs that are considered admin users on this Matrix Authentication Service instance

No Additional Items

Each item of this array must be:

Type: string

The Matrix ID of an admin user

Type: object

How the Matrix Authentication Service will send emails. This is only currently required if you need to allow users to configure and verify additional email addresses on your account. It isn't currently used for any other purpose.

Type: string

Email sender

Type: string

Hostname of the email server

Type: string Default: "emailPassword"

The key in the k8s secret containing the email password for the Matrix Authentication Service

Type: integer Default: 465

Port to connect on the email server

Type: string

Address for any replies to go to. Will default to the email sender if not provided

Type: enum (of string) Default: "TLS"

How the TLS connection is setup to the email server. TLS for wrapper mode, STARTTLS for upgrading after initiating a plain text connection or Plain for plain text only

Must be one of:

  • "TLS"
  • "STARTTLS"
  • "Plain"

Type: string Default: ""

Username to use for auth on the email server

Type: string Default: "encryptionSecret"

The key of the Kubernetes secret containing the encryption secret

Type: object Default: {}

Matrix Authentication Service Logging settings

Type: enum (of string) Default: "info"

The maximum level of Matrix Authentication Service log output

Must be one of:

  • "error"
  • "warn"
  • "info"
  • "debug"
  • "trace"

Type: string

Optional Sentry DSN

Type: object

Configuration of the PostgreSQL database

Type: string

PostgreSQL database name

Type: string

PostgreSQL database host

Type: string Default: "postgresPassword"

The PostgreSQL password

Type: integer Default: 5432

PostgreSQL port

Value must be greater or equal to 0 and lesser or equal to 65535

Type: enum (of string) Default: "require"

TLS settings to use for the PostgreSQL connection

Must be one of:

  • "disable"
  • "allow"
  • "prefer"
  • "require"
  • "verify-ca"
  • "verify-full"

Type: string

PostgreSQL username

Type: object Default: {}

The private keys used for signing. Only RSA private key is required.

Type: string Default: "prime256v1PrivateKey"

The key in the Kubernetes secret containing the ECDSA prime256v1 curve private key

Type: string Default: "secp256k1PrivateKey"

The key in the Kubernetes secret containing the ECDSA secp256k1 curve private key

Type: string Default: "secp384r1PrivateKey"

The key in the Kubernetes secret containing the ECDSA secp384r1 curve private key

Type: string Default: "rsaPrivateKey"

The key in the Kubernetes secret containing the RSA private key

Type: object

You can override Kubernetes configuration for each component of the Matrix Authentication Service

Type: object Default: {}

Settings dedicated to k8s

Type: object Default: {}

The annotations to add to every workloads and ingresses deployed

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: object Default: {}

Type: object Default: {}

Settings dedicated to monitoring

Type: object Default: {}

Service monitor settings

Type: enum (of string) Default: "auto"

Enable or disable monitoring using ServiceMonitor resources

Must be one of:

  • "enable"
  • "disable"
  • "auto"

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "128Mi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "100m", "memory": "128Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 20011

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 20011

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: object

Settings dedicated to k8s ingresses

Type: object Default: {}

Defines the annotations to add

Each additional property must conform to the following schema

Type: string

Type: string

Fully qualified domain name of the ingress

Type: string

An optional IngressClass name to be used for this ingress. Optional if you are managing ingress / loadbalancer externally.

Type: object Default: {}

Type: enum (of string)

Default service type

Must be one of:

  • "ClusterIP"
  • "NodePort"
  • "LoadBalancer"



Must not be:

Type: object

The following properties are required:

  • certificate
  • secretName

The following properties are required:

  • certmanager

Type: object
Must match regular expression: certmanager

Must not be:

Type: object

The following properties are required:

  • certmanager
  • secretName

The following properties are required:

  • certificate

Type: object
Must match regular expression: certfile

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager

The following properties are required:

  • secretName

Type: object
Must match regular expression: existing

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager
  • secretName

Type: object
Must match regular expression: external

Type: object

Certificate file

Type: string Default: "certificate"

Matrix Authentication Service Certificate

Type: string Default: "privateKey"

Matrix Authentication Service Private Key

Type: object

The cert-manager properties, if enabled

Type: string

The name of cert-manager ClusterIssuer to use

Type: enum (of string)

The TLS mode of this component ingress. Use external if TLS is managed externaly to the cluster, certmanager if you want to use cert manager to issue certificate automatically, or certfile if you want to upload certificate files to kubernetes tls secrets manually.

Must be one of:

  • "certmanager"
  • "external"
  • "certfile"
  • "existing"

Type: string

The name of a secret in the cluster that contains TLS certificates

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object Default: {}

Type: object Default: {}

Settings dedicated to monitoring

Type: object Default: {}

Service monitor settings

Type: enum (of string) Default: "auto"

Enable or disable monitoring using ServiceMonitor resources

Must be one of:

  • "enable"
  • "disable"
  • "auto"

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: number

The number of Matrix Authentication Service replicas

Value must be greater or equal to 1

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "350Mi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "100m", "memory": "100Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 20010

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 20010

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: string Default: "matrix-authentication-service"

The secret data associated to the Matrix Authentication Service config.

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object

A web service for scanning media hosted on a Matrix media repository.

Type: object

Type: boolean Default: false

Whether the normal Matrix media endpoints should be blocked, to force all media requests to be scanned

Default: {}

Configures caching of scan results.

Type: object

The following properties are required:

  • maxFileSize

Type: number Default: 1024

Maximum number of results that can be stored in the cache. If more files are scanned before existing items reach their TTL, the least-recently accessed will be evicted.

Type: string

The maximum cachable file size. If a file is bigger than this size, a copy of it will be not be cached even if the scan succeeds. If the file is requested again, it is downloaded again from the homeserver, but is not written to disk or scanned.

Must match regular expression: [0-9]+[KMGT]B

Type: string Default: "1d"

The maximum amount of time an entry will stay in the cache before being evicted.

Must match regular expression: [0-9]+[dwmy]+


Scanning configuration

Type: object

The following properties are required:

  • allowedMimetypes
  • icap
Type: object

The following properties are required:

  • icap

Type: array of string

List of allowed MIME types. If a file has a MIME type that's not in this list, its scan is considered failed. Allow every MIME types by default.

No Additional Items

Each item of this array must be:


ICAP server connection to configure


Must not be:

Type: object

The following properties are required:

  • host
  • port
  • service
  • script

Type: object
Must match regular expression: internal
Type: object

The following properties are required:

  • host
  • port
  • service
  • script

Type: object
Must match regular expression: external

Type: string

The ICAP Host address

Type: enum (of string)

Deploy the internal ICAP AntiVirus based on ClamAV or connect to your own antivirus providing an ICAP endpoint.

Must be one of:

  • "internal"
  • "external"

Type: number

The ICAP host port


Type: object

The following properties are required:

  • custom
Type: object

The following properties are required:

  • provided

Type: object

Enter a custom script

Type: string

A script to scan for viruses.

Type: array of number Default: []

List of exit codes from the scanning script that shouldn't cause the result of the scan to be cached for future requests.

No Additional Items

Each item of this array must be:

Type: object

Use the provided script

Type: string

A word to grep in ICAP response to determine if an detection happened

Type: string

The ICAP service name

Type: object

Type: object Default: {}

Type: object Default: {}

Settings dedicated to monitoring

Type: object Default: {}

Service monitor settings

Type: enum (of string) Default: "auto"

Enable or disable monitoring using ServiceMonitor resources

Must be one of:

  • "enable"
  • "disable"
  • "auto"

Type: object Default: {}

Settings dedicated to k8s storage



Must not be:

Type: object

The following properties are required:

  • persistentVolumeClaimName

The following properties are required:

  • size

Must not be:

Type: object

The following properties are required:

  • size

The following properties are required:

  • persistentVolumeClaimName

Type: string

The persistent volume claim name to use to store the media


The volume size to use to store the media

Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[MGTPE])?$

Type: string

The storage class name to use

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: number

The number of ClamAV replicas

Value must be greater or equal to 1

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "4Gi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "100m", "memory": "100Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 10150

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 10150

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: object Default: {}

Settings dedicated to k8s

Type: object Default: {}

The annotations to add to every workloads and ingresses deployed

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: object Default: {}

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "1Gi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "100m", "memory": "100Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 10152

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 10152

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: object

Type: object Default: {}

Settings dedicated to monitoring

Type: object Default: {}

Service monitor settings

Type: enum (of string) Default: "auto"

Enable or disable monitoring using ServiceMonitor resources

Must be one of:

  • "enable"
  • "disable"
  • "auto"

Type: object

Settings dedicated to k8s storage as a PVC Template

Type: object

A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed.
An empty label selector matches all objects. A null label selector matches no objects.

Type: array of object

matchExpressions is a list of label selector requirements. The requirements are ANDed.

No Additional Items

Each item of this array must be:

Type: object

A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.

Type: string

key is the label key that the selector applies to.

Type: string

operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.

Type: array of string

values is an array of string values. If the operator is In or NotIn, the values array must be non-empty.
If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.

No Additional Items

Each item of this array must be:

Type: object

matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions,
whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.

Each additional property must conform to the following schema

Type: string


The volume size to use to store the media

Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[MGTPE])?$

Type: string

The storage class name to use

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: number

The number of Matrix Content Scanner replicas

Value must be greater or equal to 1

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "500Mi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "100m", "memory": "100Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 10151

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 10151

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: string Default: "matrix-content-scanner"

The secret data associated to MatrixContentScanner config

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object

A configurable traffic gateway between security domains. Filter and modify Matrix
traffic in real time as it flows between clients, your homeserver and other
homeservers.

Type: object Default: {}

Type: string

Additional config to inject

Type: object

Checks that the SecureBorderGateway performs on incoming and outgoing traffic.

Type: array of object Default: []

A list of HTTP headers and regular expression values that a client must include for a request to be accepted.

No Additional Items

Each item of this array must be:

Type: object Default: {}

Secure Border Gateway Logging settings

Type: enum (of string) Default: "info"

The maximum level of Secure Border Gateway log output

Must be one of:

  • "error"
  • "warn"
  • "info"
  • "debug"
  • "trace"

Type: string

Optional Sentry DSN

Type: object Default: {}

Type: object Default: {}

Settings dedicated to k8s

Type: object Default: {}

The annotations to add to every workloads and ingresses deployed

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: object Default: {}

Settings dedicated to monitoring

Type: object Default: {}

Service monitor settings

Type: enum (of string) Default: "auto"

Enable or disable monitoring using ServiceMonitor resources

Must be one of:

  • "enable"
  • "disable"
  • "auto"

Type: object Default: {}

Settings dedicated to k8s workloads

Type: string

Additional containers string to inject in the SBG StatefulSet

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "200Mi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "100m", "memory": "100Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 10018

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 10018

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: string Default: "secure-border-gateway"

The secret data associated to SecureBorderGateway config

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object

Deploy a SIP Bridge to be able to call SIP Numbers from Element.

Type: object

Type: string Default: "encryptionKey"

The key of the k8s secret containing sip bridge encryption key

Type: object Default: {}

Bridge logging level

Type: enum (of string) Default: "info"

Bridge logging level

Must be one of:

  • "info"
  • "debug"
  • "warn"
  • "error"

Type: object Default: {}

Matrix configuration of the bridge

Type: string Default: "_sip_"

Type: object

Configuration of the PostgreSQL database

Type: string

PostgreSQL database name

Type: string

PostgreSQL database host

Type: string Default: "postgresPassword"

The PostgreSQL password

Type: integer Default: 5432

PostgreSQL port

Value must be greater or equal to 0 and lesser or equal to 65535

Type: enum (of string) Default: "require"

TLS settings to use for the PostgreSQL connection

Must be one of:

  • "disable"
  • "require"
  • "verify-ca"
  • "verify-full"

Type: string

PostgreSQL username

Type: object Default: {}

SIP-side configuration of the bridge

Type: number Default: 5

Timeout in seconds for SIP Candidates gathering

Type: string

Host (and optionally port) of the SIP proxy to use. If absent or set to an empty string, no proxy will be used. If no port is provided, port 5060 (default for SIP) will be used. Must not include the protocol scheme.

Type: string

The SIPBridge PSTN Gateway

Type: object Default: {}

Configuration related to outgoing SIP REGISTER requests.

Type: number Default: 3600

Timeout for REGISTER requests, in seconds. If absent or set to 0, registrations will not expire. Only used if proxy is set.

Type: object Default: {}

Configuration related to outgoing SIP SUBSCRIBE requests.

Type: array of enum (of string) Default: ["dialog"]

Events to subscribe to. Only supported events are allowed.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: enum (of string)

Supported events

Must be one of:

  • "dialog"

Type: number Default: 3600

Timeout for SUBSCRIBE requests, in seconds. If absent or set to 0, subscriptions will not expire. Only used if proxy is set.

Type: string

An optional user agent string that the bridge will use for outbound SIP connections. If this option is not set, some default value will be used instead. The version of the bridge will be appended to this string. Does not affect HTTP connections to Matrix homeservers.

Type: string

The avatar SIP users will have, provided in the form of an MXC URL. MXC URLs can be obtained by uploading media to a Matrix homeserver. "mxc://matrix.org/KJSfYJTISAOQkQzVlTIIlTGz"

Type: enum (of string) Default: "useGlobalSetting"

TLS Verification

Must be one of:

  • "useGlobalSetting"
  • "force"
  • "disable"

Type: object Default: {}

Type: object Default: {}

Settings dedicated to k8s

Type: object Default: {}

The annotations to add to every workloads and ingresses deployed

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: object

Settings dedicated to non-proxied SIP listeners

Type: string

Fully qualified domain name of the bridge's SIP domain

Type: object Default: {}

The service port

Type: boolean Default: false

If enabled, open a TCP SIP listener on the same port in addition to the UDP listener, and also use TCP to send any requests too large to fit in a single UDP packet.

Type: number Default: 32060

The port on which the service will be accessible

Type: enum (of string) Default: "NodePort"

Kubernetes service port type

Must be one of:

  • "NodePort"
  • "HostPort"

Type: object Default: {}

Settings dedicated to monitoring

Type: object Default: {}

Service monitor settings

Type: enum (of string) Default: "auto"

Enable or disable monitoring using ServiceMonitor resources

Must be one of:

  • "enable"
  • "disable"
  • "auto"

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "1000Mi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "50m", "memory": "150Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 10031

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 10031

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: string Default: "sip-bridge"

The secret data associated to SipBridge config

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object

Deploys a bridge to reach Skype for Business users over Matrix.

Type: object Default: {}

Type: object Default: {}

The bridge configuration parameters

Type: object Default: {}

The details of the appservice bot

Type: string Default: ""

The avatar the appservice bot will have, provided in the form of an MXC URL. MXC URLs can be obtained by uploading media to a Matrix homeserver. "mxc://matrix.org/KJSfYJTISAOQkQzVlTIIlTGz"

Type: string Default: "Skype for Business bridge bot"

The display name of the appservice bot. Set to "remove" to use an empty display name.

Type: string Default: "s4bbot"

The username of the appservice bot

Type: string Default: "_s4b_"

The bridge portal room alias prefix

Type: string

An optional user agent string that the bridge will use for outbound SIP connections. If this option is not set, "matrix-s4b-bridge" will be used instead. The version of the bridge will be appended to this string. Does not affect HTTP connections to Matrix homeservers.

Type: string

The avatar Skype for Business users will have, provided in the form of an MXC URL. MXC URLs can be obtained by uploading media to a Matrix homeserver. "mxc://matrix.org/KJSfYJTISAOQkQzVlTIIlTGz"

Type: string Default: "_s4b_"

The bridge users prefix

Type: object Default: {}

Logging settings

Type: enum (of string) Default: "info"

Bridge logging level

Must be one of:

  • "info"
  • "debug"
  • "warn"
  • "error"

Type: object Default: {}

Type: object Default: {}

Settings dedicated to k8s

Type: object Default: {}

The annotations to add to every workloads and ingresses deployed

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: object

Settings dedicated to non-proxied SIP listeners

Type: string

Fully qualified domain name of the bridge's SIP domain

Type: object Default: {}

The service port

Type: number Default: 32160

The port on which the service will be accessible

Type: enum (of string) Default: "NodePort"

Kubernetes service port type

Must be one of:

  • "NodePort"
  • "HostPort"

Type: object Default: {}

The service port

Type: number Default: 32161

The port on which the service will be accessible

Type: enum (of string) Default: "NodePort"

Kubernetes service port type

Must be one of:

  • "NodePort"
  • "HostPort"



Must not be:

Type: object

The following properties are required:

  • secretName

The following properties are required:

  • certificate

Type: object
Must match regular expression: certfile

Must not be:

Type: object

The following properties are required:

  • certificate

The following properties are required:

  • secretName

Type: object
Must match regular expression: existing

Type: object

Certificate file

Type: string Default: "skypeForBusinessBridgeCertificate"

The TLS certificate file for the bridge's SIP domain

Type: string Default: "skypeForBusinessBridgePrivateKey"

The TLS private key file for the bridge's SIP domain

Type: enum (of string)

The TLS mode of the service.

Must be one of:

  • "certfile"
  • "existing"

Type: string

The name of a secret in the cluster that contains TLS certificates

Type: object Default: {}

Settings dedicated to monitoring

Type: object Default: {}

Service monitor settings

Type: enum (of string) Default: "auto"

Enable or disable monitoring using ServiceMonitor resources

Must be one of:

  • "enable"
  • "disable"
  • "auto"

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "1000Mi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "50m", "memory": "150Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 10140

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 10140

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: string Default: "skype-for-business-bridge"

The secret data associated to skypeForBusinessBridge config If exposedServices.sips is using certfile tls mode, key matching k8s.exposedServices.sips.tls.certificate.certFileSecretKey and k8s.exposedServices.sips.tls.certificate.privateKeySecretKey must be present

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object

Sliding Sync is a backend component required by the Element X client beta. It provides a mechanism for the fast synchronisation of Matrix rooms. It is not recommended for production use and is only provide to enable the usage of the Element X client. The current version does not support SSO (OIDC/SAML/CAS). If you wish to try out the Element X client, then you need to be using password-based auth to allow Sliding Sync to work. SSO support (OIDC/SAML/CAS) will be added with a later version of the Sliding Sync tooling.

Type: object

Type: object Default: {}

Logging settings

Type: enum (of string) Default: "info"

The maximum level of log output

Must be one of:

  • "info"
  • "debug"
  • "warning"
  • "error"

Type: string

Optional Sentry DSN.

Type: object

Configuration of the PostgreSQL database

Type: string

PostgreSQL database name

Type: string

PostgreSQL database host

Type: string Default: "postgresPassword"

The PostgreSQL password

Type: integer Default: 5432

PostgreSQL port

Value must be greater or equal to 0 and lesser or equal to 65535

Type: enum (of string) Default: "require"

TLS settings to use for the PostgreSQL connection

Must be one of:

  • "disable"
  • "require"
  • "verify-ca"
  • "verify-full"

Type: string

PostgreSQL username

Type: string Default: "syncSecret"

The key of the k8s secret containing Sliding Sync Sync Secret

Type: enum (of string) Default: "useGlobalSetting"

TLS Verification

Must be one of:

  • "useGlobalSetting"
  • "force"
  • "disable"

Type: object Default: {}

Type: object Default: {}

Type: object Default: {}

Settings dedicated to monitoring

Type: object Default: {}

Service monitor settings

Type: enum (of string) Default: "auto"

Enable or disable monitoring using ServiceMonitor resources

Must be one of:

  • "enable"
  • "disable"
  • "auto"

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Default: {"static": 1}


Must not be:

Type: object

The following properties are required:

  • dynamic

The following properties are required:

  • static

Must not be:

Type: object

The following properties are required:

  • static

The following properties are required:

  • dynamic

Type: object

Dynamic configuration of Sliding Sync API replicas

Type: number

Maximum number of replicas

Value must be greater or equal to 2

Type: number

Minimum number of replicas

Value must be greater or equal to 1

Type: object

Resource usage target

Type: number

Memory utilization target

Value must be greater or equal to 1 and lesser or equal to 100

Type: number

Memory utilization target

Value must be greater or equal to 1 and lesser or equal to 100

Type: number

The number of Sliding Sync API replicas

Value must be greater or equal to 1

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "4Gi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "100m", "memory": "200Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 10130

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 10130

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: object Default: {}

Settings dedicated to k8s

Type: object Default: {}

The annotations to add to every workloads and ingresses deployed

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: object

Settings dedicated to k8s ingresses

Type: object Default: {}

Defines the annotations to add

Each additional property must conform to the following schema

Type: string

Type: string

Fully qualified domain name of the ingress

Type: string

An optional IngressClass name to be used for this ingress. Optional if you are managing ingress / loadbalancer externally.

Type: object Default: {}

Type: enum (of string)

Default service type

Must be one of:

  • "ClusterIP"
  • "NodePort"
  • "LoadBalancer"



Must not be:

Type: object

The following properties are required:

  • certificate
  • secretName

The following properties are required:

  • certmanager

Type: object
Must match regular expression: certmanager

Must not be:

Type: object

The following properties are required:

  • certmanager
  • secretName

The following properties are required:

  • certificate

Type: object
Must match regular expression: certfile

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager

The following properties are required:

  • secretName

Type: object
Must match regular expression: existing

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager
  • secretName

Type: object
Must match regular expression: external

Type: object

Certificate file

Type: string Default: "certificate"

SlidingSync Certificate

Type: string Default: "privateKey"

SlidingSync Private Key

Type: object

The cert-manager properties, if enabled

Type: string

The name of cert-manager ClusterIssuer to use

Type: enum (of string)

The TLS mode of this component ingress. Use external if TLS is managed externaly to the cluster, certmanager if you want to use cert manager to issue certificate automatically, or certfile if you want to upload certificate files to kubernetes tls secrets manually.

Must be one of:

  • "certmanager"
  • "external"
  • "certfile"
  • "existing"

Type: string

The name of a secret in the cluster that contains TLS certificates

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object Default: {}

Type: object Default: {}

Settings dedicated to monitoring

Type: object Default: {}

Service monitor settings

Type: enum (of string) Default: "auto"

Enable or disable monitoring using ServiceMonitor resources

Must be one of:

  • "enable"
  • "disable"
  • "auto"

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: number

The number of Sliding Sync Poller replicas

Value must be greater or equal to 1

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "4Gi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "100m", "memory": "200Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 10131

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 10131

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: string Default: "sliding-sync"

The secret data associated to SlidingSync config

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object

This is a Matrix Identity Server.


Type: object

The following properties are required:

  • termsAndConditions
Type: object

Type: array of object

A list of brands to create in Sydent. At least one is required.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:


A brand to create in Sydent


Must not be:

Type: object

The following properties are required:

  • verificationEmailTemplate
  • verificationResponsePageTemplate

The following properties are required:

  • name
  • inviteEmailTemplate
Type: object

The following properties are required:

  • name
  • inviteEmailTemplate
  • verificationEmailTemplate
  • verificationResponsePageTemplate

Type: string

The Jinja email template to be used for invitations

Type: string

The Jinja email template to be used for migrations. Deprecated, not used.

Type: string

The brand name that templates can be reached at It must be unique, start & end with lower-case letters or numbers but can contain lower-case letters, numbers or dashes in between.

Must match regular expression: [a-z0-9]([a-z0-9\-]*[a-z0-9])?

Type: string

The Jinja email template to be used for email verifications

Type: string

The HTML template to be used when email verifications are completed.

Type: object

How Sydent will send emails

Type: string

Email sender

Type: string

Hostname of the email server

Type: string Default: "%(sender_display_name)s has invited you to chat"

Email subject to use for inviting people to rooms

Type: string Default: "%(sender_display_name)s has invited you to a space"

Email subject to use for inviting people to spaces

Type: integer Default: 3

The number of characters in the domain part of the email address to reduce to when storing in the room state

Type: integer Default: 3

The number of characters in the user part of the email address to reduce to when storing in the room state

Type: string Default: "emailPassword"

The key in the k8s secret containing the email password for Sydent

Type: integer Default: 465

Port to connect on the email server

Type: enum (of string) Default: "TLS"

How the TLS connection is setup to the email server. TLS for wrapper mode, STARTTLS for upgrading after initiating a plain text connection or Plain for plain text only

Must be one of:

  • "TLS"
  • "STARTTLS"
  • "Plain"

Type: string Default: ""

Username to use for auth on the email server

Default: {"mode": "self"}

Which homeservers (if any) to restrict this Sydent to


Must not be:

Type: object

The following properties are required:

  • homeserverList

Type: object
Must match regular expression: self

Must not be:

Type: object

The following properties are required:

  • homeserverList

Type: object
Must match regular expression: unrestricted
Type: object

The following properties are required:

  • homeserverList

Type: object
Must match regular expression: specific

Type: array of string

Which additional Synapse Homeservers are allowed to access this Sydent. The Synapse deployed by this Element Server Suite is always allowed access

No Additional Items

Each item of this array must be:

Type: string

A Synapse Homeserver (identified by its server name) that is allowed to access this Sydent.

Type: enum (of string) Default: "self"

Which Synapse Homeservers (if any) to restrict this Sydent to. Use self if only the Synapse in this deployment should be able to use it. Use specific for private federation and the homeservers are available on the internet. Use unrestricted for public federation on the internet or private federation on a trusted network

Must be one of:

  • "self"
  • "specific"
  • "unrestricted"

Type: object Default: {}

Sydent logging configuration

Type: enum (of string) Default: "Info"

What level of logging to run Sydent at

Must be one of:

  • "Critical"
  • "Error"
  • "Warning"
  • "Info"
  • "Debug"

Type: string

Optional Sentry DSN

Type: string Default: "signingKey"

The key of the k8s secret containing Sydent signing key

Type: object

Any terms and conditions that must be agreed to before using this Sydent deploy

Type: object

Name of the document, must start and end with lower-case letters, but can contain lower-case letters or underscores in between.

Must match regular expression: [a-z][a-z_]*[a-z]

Each additional property must conform to the following schema

Type: object

Details of a given Terms and Conditions document

Type: object

The languages this document is available in. Must be exactly 2 lower-case letters.

Must match regular expression: [a-z]{2}

Each additional property must conform to the following schema

Type: object

Details of a given Terms and Conditions document in a given language

Type: string

The name of the document to present in the UI

Type: string

The URL the document can be found at

Type: string

The version of this document

Type: string

The version of the Terms and Conditions as a whole

Type: integer Default: 10

How long validation tokens should be. Must be at least 6.

Value must be greater or equal to 6

Type: enum (of string) Default: "useGlobalSetting"

TLS Verification

Must be one of:

  • "useGlobalSetting"
  • "force"
  • "disable"

Type: object

You can override Kubernetes configuration for each component of Sydent

Type: object Default: {}

Settings dedicated to k8s

Type: object Default: {}

The annotations to add to every workloads and ingresses deployed

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: object

Settings dedicated to k8s ingresses

Type: object Default: {}

Defines the annotations to add

Each additional property must conform to the following schema

Type: string

Type: string

Fully qualified domain name of the ingress

Type: string

An optional IngressClass name to be used for this ingress. Optional if you are managing ingress / loadbalancer externally.

Type: object Default: {}

Type: enum (of string)

Default service type

Must be one of:

  • "ClusterIP"
  • "NodePort"
  • "LoadBalancer"



Must not be:

Type: object

The following properties are required:

  • certificate
  • secretName

The following properties are required:

  • certmanager

Type: object
Must match regular expression: certmanager

Must not be:

Type: object

The following properties are required:

  • certmanager
  • secretName

The following properties are required:

  • certificate

Type: object
Must match regular expression: certfile

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager

The following properties are required:

  • secretName

Type: object
Must match regular expression: existing

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager
  • secretName

Type: object
Must match regular expression: external

Type: object

Certificate file

Type: string Default: "certificate"

Sydent Certificate

Type: string Default: "privateKey"

Sydent Private Key

Type: object

The cert-manager properties, if enabled

Type: string

The name of cert-manager ClusterIssuer to use

Type: enum (of string)

The TLS mode of this component ingress. Use external if TLS is managed externaly to the cluster, certmanager if you want to use cert manager to issue certificate automatically, or certfile if you want to upload certificate files to kubernetes tls secrets manually.

Must be one of:

  • "certmanager"
  • "external"
  • "certfile"
  • "existing"

Type: string

The name of a secret in the cluster that contains TLS certificates

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object Default: {}

Settings dedicated to monitoring

Type: object Default: {}

Service monitor settings

Type: enum (of string) Default: "auto"

Enable or disable monitoring using ServiceMonitor resources

Must be one of:

  • "enable"
  • "disable"
  • "auto"

Type: object Default: {}

Settings dedicated to k8s storage



Must not be:

Type: object

The following properties are required:

  • persistentVolumeClaimName

The following properties are required:

  • size

Must not be:

Type: object

The following properties are required:

  • size

The following properties are required:

  • persistentVolumeClaimName

Type: string

The persistent volume claim name to use to store the media


The volume size to use to store the media

Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[MGTPE])?$

Type: string

The storage class name to use

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "250Mi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "50m", "memory": "100Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 10992

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 10992

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: string Default: "sydent"

The secret data associated to Sydent config A key matching config.signingKeySecretKey must be present. config.emailPasswordSecretKey can optionally be present if the email server requires auth. If ingress is tls mode is using certificate, key matching k8s.ingress.certificate.certFileSecretKey and k8s.ingress.certificate.privateKeySecretKey must be present

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object

This is a Matrix Push Server. This is useful if you have your own iOS/Android apps or other web applications that use web push. If you are using the Element iOS & Android apps please speak to your account manager as they use the MatrixPush Server provided by Element by default.


Type: object

The following properties are required:

  • httpProxy
Type: object

Type: object

The apps which link to remote Push providers. The key is the name of the app as per the app_id in the registered pusher

Each additional property must conform to the following schema


Details of an app which link to a remote Push provider.


Must not be:

Type: object

The following properties are required:

  • gcm
  • webPush

The following properties are required:

  • apns

Must not be:

Type: object

The following properties are required:

  • apns
  • webPush

The following properties are required:

  • gcm

Must not be:

Type: object

The following properties are required:

  • apns
  • gcm

The following properties are required:

  • webPush


Details of the Apple Push Notification Service linked app


Must not be:

Type: object

The following properties are required:

  • apnsP8KeySecretKey
  • keyId
  • teamId
  • topic

The following properties are required:

  • apnsCertificateAndKeySecretKey
  • platform

Must not be:

Type: object

The following properties are required:

  • apnsCertificateAndKeySecretKey

The following properties are required:

  • apnsP8KeySecretKey
  • keyId
  • teamId
  • topic
  • platform

Type: string

The key identifier in APNS

Type: enum (of string)

Which APNS platform to use

Must be one of:

  • "production"
  • "sandbox"

Type: string

What value of the 'apns-push-type' header is sent to APNS. Not sent if not provided

Type: string

The team identifier in APNS

Type: string

The topic parameter for the push. This is commonly the Bundle Identifier for your iOS application


Details of the Google Cloud Messaging linked app


Must not be:

Type: object

The following properties are required:

  • gcmApiKeySecretKey

The following properties are required:

  • projectId
  • serviceAccountFileSecretKey

Must not be:

Type: object

The following properties are required:

  • projectId
  • serviceAccountFileSecretKey

The following properties are required:

  • gcmApiKeySecretKey

Type: integer Default: 20

How many connections to keep open to GCM

Type: integer Default: 512

How many pending requests each Sygnal instance will accept

Type: object

Details of the Web Push app

Type: array of string Default: ["updates.push.services.mozilla.com", "fcm.googleapis.com", "*.notify.windows.com", "*.push.apple.com"]

The endpoints that the web push is allowed to be sent to

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: string

A single endpoint that the web push can be sent to. * can be used as a wildcard

Type: string

Your contact email address in Vapid

Type: integer Default: 20

How many connections to keep open to the web push provider

Type: integer Default: 900

The time to live in seconds of the web push

Type: object

HTTP Forward Proxy configuration

Type: string

Proxy server to use for HTTPS requests

Type: object Default: {}

Sygnal Logging settings

Type: object

Logging level overrides for specific Sygnal loggers

Each additional property must conform to the following schema

Type: enum (of string)

The maximum level of Sygnal log output for this specific logger

Must be one of:

  • "Critical"
  • "Error"
  • "Warning"
  • "Info"
  • "Debug"

Type: enum (of string) Default: "Info"

The maximum level of Sygnal log output before any overrides

Must be one of:

  • "Critical"
  • "Error"
  • "Warning"
  • "Info"
  • "Debug"

Type: string

Optional Sentry DSN

Type: object

You can override Kubernetes configuration for each component of Sygnal

Type: object Default: {}

Settings dedicated to k8s

Type: object Default: {}

The annotations to add to every workloads and ingresses deployed

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: object

Settings dedicated to k8s ingresses

Type: object Default: {}

Defines the annotations to add

Each additional property must conform to the following schema

Type: string

Type: string

Fully qualified domain name of the ingress

Type: string

An optional IngressClass name to be used for this ingress. Optional if you are managing ingress / loadbalancer externally.

Type: object Default: {}

Type: enum (of string)

Default service type

Must be one of:

  • "ClusterIP"
  • "NodePort"
  • "LoadBalancer"



Must not be:

Type: object

The following properties are required:

  • certificate
  • secretName

The following properties are required:

  • certmanager

Type: object
Must match regular expression: certmanager

Must not be:

Type: object

The following properties are required:

  • certmanager
  • secretName

The following properties are required:

  • certificate

Type: object
Must match regular expression: certfile

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager

The following properties are required:

  • secretName

Type: object
Must match regular expression: existing

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager
  • secretName

Type: object
Must match regular expression: external

Type: object

Certificate file

Type: string Default: "certificate"

Sygnal Certificate

Type: string Default: "privateKey"

Sygnal Private Key

Type: object

The cert-manager properties, if enabled

Type: string

The name of cert-manager ClusterIssuer to use

Type: enum (of string)

The TLS mode of this component ingress. Use external if TLS is managed externaly to the cluster, certmanager if you want to use cert manager to issue certificate automatically, or certfile if you want to upload certificate files to kubernetes tls secrets manually.

Must be one of:

  • "certmanager"
  • "external"
  • "certfile"
  • "existing"

Type: string

The name of a secret in the cluster that contains TLS certificates

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object Default: {}

Settings dedicated to monitoring

Type: object Default: {}

Service monitor settings

Type: enum (of string) Default: "auto"

Enable or disable monitoring using ServiceMonitor resources

Must be one of:

  • "enable"
  • "disable"
  • "auto"

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: number

The number of Sygnal replicas

Value must be greater or equal to 1

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "250Mi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "50m", "memory": "100Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 10993

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 10993

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: string Default: "sygnal"

The secret data associated to Sygnal config. A key must be present for each app according to apnsP8KeySecretKey apnsCertificateAndKeySecretKey/ / gcmApiKeySecretKey / vapidPrivateKeySecretKey for that app

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object

This is a matrix homeserver.


Type: object

The following properties are required:

  • delegatedAuth
Type: object

The following properties are required:

  • stun
Type: object

The following properties are required:

  • identityServer
Type: object

The following properties are required:

  • httpProxy
Type: object

The following properties are required:

  • dataRetention
Type: object

Type: enum (of string) Default: "manual"

Whether to enable auto accept invites. Defaults to manual if not set

Must be one of:

  • "manual"
  • "auto"
  • "auto_dm_only"

Type: string

Additional config to inject

Type: string Default: "adminPassword"

The key of the k8s secret containing Synapse admin password


Automatically delete old data after a set time.

Type: object

The following properties are required:

  • messageLifetime
Type: object

The following properties are required:

  • mediaLifetime
Type: object

The following properties are required:

  • deleteRoomsAfterInactivity

Type: string

How long rooms should be kept on the server. Rooms which have not seen any activity since this time will be automatically deleted. Supports suffixes (s, m, h, d, w, y).

Must match regular expression: ^[0-9]+[smhdwy]$

Type: number

Delete media set days after it was last accessed.

Value must be greater or equal to 1 and lesser or equal to 3650

Type: number

Delete messages set days after they were created.

Value must be greater or equal to 1 and lesser or equal to 3650


Provider to delegate authentication to

Type: object

The following properties are required:

  • oidc
Type: object

The following properties are required:

  • saml
Type: object

The following properties are required:

  • ldap

Type: enum (of string) Default: "auto"

Must be one of:

  • "auto"
  • "enabled"
  • "disabled"

Type: array of object

The list of ldap password providers

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object

The ldap password provider

Type: object

LDAP to Synapse attribute mapping

Type: string

The ldap attribute mapped to synapse mail

Type: string

The ldap attribute mapped to synapse name

Type: string

The ldap attribute mapped to synapse uid

Type: string

The LDAP Base search

Type: string

The LDAP Bind DN

Type: string Default: "ldapBindPassword"

The LDAP bind password secret key

Type: string

The LDAP Filter

Type: string

The ldap URI, usually your domain controller

Type: array of object

The list of OIDC Providers

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object

Type: boolean Default: true

Whether to allow existing users or not

Type: array of object

Require some attributes & values to allow logging in to Synapse. If specified all attributes must be present in the OIDC claims and have the values specified or if a given claim is a list, the value is in the list

No Additional Items

Each item of this array must be:

Type: string

The authorization endpoint URL of the IDP. Required if provider discovery is disabled.

Type: boolean Default: false

An optional flag to enable/disable backchannel logout support.

Type: enum (of string) Default: "client_secret_basic"

The client authentication method used when sending requests to the IDP.

Must be one of:

  • "client_secret_post"
  • "client_secret_basic"
  • "none"

Type: string

The client identifier assigned by the IDP.

Type: string Default: "oidcClientSecret"

The client secret assigned by the IDP.

Type: boolean Default: true

A flag to enable/disable the automatic discovery of the IDP configuration.

Type: string

An optional styling hint for clients.

Must match regular expression: ^[a-z][a-z0-9._\-]*$

Must be at least 1 characters long

Must be at most 250 characters long

Type: string

The unique identifier for the Identity Provider (IDP).

Must match regular expression: ^[A-Za-z0-9._~\-]+$

Must be at least 1 characters long

Must be at most 250 characters long

Type: string

The display name of the Identity Provider (IDP).

Type: string

The URL of the IDP issuer.

Type: string

URI where to fetch the JWKS. Required if discovery is disabled and the 'openid' scope is used.

Type: enum (of string) Default: "auto"

Must be one of:

  • "auto"
  • "always"
  • "never"

Type: array of string Default: ["openid", "profile", "email"]

A list of scopes requested during the authorization process.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: string

Standard scopes include openid, profile, email.

Type: boolean Default: false

Set to 'true' to skip metadata verification. Use this if you are connecting to a provider that is not OpenID Connect compliant. Defaults to false. Avoid this in production.

Type: string

The token endpoint URL of the IDP. Required if provider discovery is disabled.


Each of these templates are Jinja expressions that map properties on a user object to the given attribute of the user. The Jinja expressions should not use the built-in Python functions, and only use Jinja built-in filters and syntax.

Type: object

The following properties are required:

  • subjectTemplate
Type: object

The following properties are required:

  • localpartTemplate
Type: object

The following properties are required:

  • displayNameTemplate
Type: object

The following properties are required:

  • emailTemplate

Type: string

The template used to generate the user's display name in Matrix.

Type: string

The template used to generate the user's email address in Matrix.

Type: string

The template used to generate the local part of the user's Matrix ID.

Type: string

Deprecated. This is not supported when running with workers nor with Matrix Authentication Service. The template used to generate the user's profile picture URL in Matrix.

Type: string

The claim used to identify the subject of the ID token.

Type: string

The userinfo endpoint URL of the IDP. Required if discovery is disabled and the 'openid' scope is not requested.


Enable SAML login

Type: object

The following properties are required:

  • identityProvider

Type: number Default: 0

If your computer and another computer that you are communicating with are not in sync regarding the computer clock, then here you can state how big a difference you are prepared to accept.

Type: object

Map from SAML Name-format attribute to attributes

Type: enum (of string)

The identifier is the name-format you expect to support

Must be one of:

  • "urn:oasis:names:tc:SAML:2.0:attrname-format:basic"
  • "urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
  • "urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"

Type: array of object

A SAML mapping

No Additional Items

Each item of this array must be:

Type: object

A SAML Name-format mapping

Type: string

The SAML name-format to read

Type: string

The attribute to convert the saml name-format to

Type: array of object

Require some attribute value to allow login in synapse

No Additional Items

Each item of this array must be:


SAML Certificates

Type: object

The following properties are required:

  • signing
Type: object

The following properties are required:

  • encryption

Type: object

Encryption Certificate for SAML requests

Type: string Default: "samlEncryptionCertificate"

Type: string Default: "samlEncryptionKey"

Type: object

Signing certificate for SAML Requests.

Type: string Default: "samlTlsCertificate"

Type: array of object

Persons to contact in the metadata xml

No Additional Items

Each item of this array must be:

Type: object

A person to contact

Type: enum (of string)

The contact type

Must be one of:

  • "technical"
  • "support"
  • "other"

Type: array of string

Contact mail addresses

No Additional Items

Each item of this array must be:

Type: string
Must match regular expression: ^[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}$

Type: object

How Synapse will expose itself as a SAML Entity

Type: string

Your synapse deployment description

Type: string

Your Synapse entity ID

Type: string

Your synapse deployment name

Type: object

Identity provider options

Type: boolean Default: false

Specifies if the IdP should encrypt the assertions

Type: array of object Default: []

Configure where the endpoints for the services provided are

No Additional Items

Each item of this array must be:

Type: object

Type: enum (of string)

Must be one of:

  • "urn:oasis:names:tc:SAML:2.0:bindings:SOAP"
  • "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
  • "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
  • "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact"

Type: enum (of string)

Must be one of:

  • "artifact_resolution_service"
  • "assertion_id_request_service"
  • "manage_name_id_service"
  • "name_id_mapping_service"
  • "single_logout_service"
  • "single_sign_on_service"

Type: boolean Default: false

Specifies if the IdP should sign the assertion in an authentication response or not

Type: boolean Default: false

Specifies if the IdP should sign the authentication response or not

Type: boolean Default: false

Indicates that the AuthnRequest received by this IdP should be signed.

Type: array of string

A list of metadata URLs

No Additional Items

Each item of this array must be:

Type: string

Point this to the IdP's metadata.

Type: array of object

Organization information in the metadata xml

No Additional Items

Each item of this array must be:

Type: object

Type: string

Organization display name localization

Must match regular expression: [a-z]{2}

Type: object Default: {}

Service provider options

Type: array of object Default: []

Configure where the endpoints for the services provided are

No Additional Items

Each item of this array must be:

Type: object

Type: enum (of string)

Must be one of:

  • "urn:oasis:names:tc:SAML:2.0:bindings:SOAP"
  • "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
  • "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
  • "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact"

Type: enum (of string)

Must be one of:

  • "artifact_resolution_service"
  • "assertion_consumer_service"
  • "single_logout_service"

Type: array of object

UI Attributes used to generate the SAML Metadata XML.

No Additional Items

Each item of this array must be:

Type: object

Type: string

Description to use in metadata xml

Type: string

Display name to use in metadata xml

Type: string

Information URL to use in metadata xml

Type: array of string

A list of keywords to use in the metadata xml

No Additional Items

Each item of this array must be:

Type: string

Localization country subcode (en, fr, ...)

Must match regular expression: [a-z]{2}

Type: string

Privacy statement URL to use in metadata xml

Type: object

Mapping between SAML attributes and MXIDs

Type: enum (of string) Default: "dotreplace"

Two modes of mapping - hexencode maps unpermitted characters to '=xx' dotreplace replaces unpermitted characters with '.'

Must be one of:

  • "hexencode"
  • "dotreplace"

Type: string

The SAML Source attribute used to generate MXIDs

Type: enum (of string) Default: "useGlobalSetting"

TLS Verification

Must be one of:

  • "useGlobalSetting"
  • "force"
  • "disable"

Type: object Default: {}

User profiles permissions

Type: boolean Default: true

Allow users to change their avatars themselves

Type: boolean Default: true

Allow users to change their display names themselves

Type: object Default: {}

External application services to configure

Type: array of string Default: []

Array of ConfigMaps containing a registration.yaml to mount in synapse

No Additional Items

Each item of this array must be:

Type: object Default: {}

Map of appservice registration files to inject

Each additional property must conform to the following schema

Type: string

Content of an appservice registration file

Default: {}

Configuration related to federation

Type: object

The following properties are required:

  • allowList

Type: array of string

Servers allowed to federate with this Synapse

No Additional Items

Each item of this array must be:

Type: string

A federated server name that is allowed to federate with this server. This is not necessarily the domain name the server is available at, it is the server name in Matrix IDs and where either SRV records are created or where the WellKnownDelegation is hosted.

Type: array of string Default: []

List of keys in the secret, corresponding to CA certificates for Synapse to trust. This will replace Synapse's default CA trust store

No Additional Items

Each item of this array must be:

Type: string

The key of the k8s secret containing a certificate authority to load into Synapse for federation requests

Type: enum (of string) Default: "1.2"

Must be one of:

  • "1.3"
  • "1.2"

Type: array of object Default: []

Servers providing trusted keys

No Additional Items

Each item of this array must be:

Type: object

A trusted key server configuration

Type: string

A federated server name. This is not necessarily the domain name the server is available at, it is the server name in Matrix IDs and where either SRV records are created or where the WellKnownDelegation is hosted.

Type: array of object

Keys to verify. The public key should be the public key of Synapse signing key.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object

HTTP Forward Proxy configuration

Type: string

Proxy server to use for HTTP requests

Type: string

Proxy server to use for HTTPS requests

Type: array of string Default: []

List of hostnames, IP addresses or IP ranges (CIDR format) which should not use the HTTP/HTTPS proxy

No Additional Items

Each item of this array must be:

Type: string

Hostname, IP address or IP range (CIDR format) which should not use the HTTP/HTTPS proxy

Type: object

Identity Server configuration

Type: boolean Default: false

True to auto-bind users to the Sydent in this deployment

Type: object Default: {}

Synapse Logging settings

Type: object

Logging level overrides for specific Synapse loggers

Each additional property must conform to the following schema

Type: enum (of string)

The maximum level of Synapse log output for this specific logger

Must be one of:

  • "Critical"
  • "Error"
  • "Warning"
  • "Info"
  • "Debug"

Type: enum (of string) Default: "Info"

The maximum level of Synapse log output before any overrides

Must be one of:

  • "Critical"
  • "Error"
  • "Warning"
  • "Info"
  • "Debug"

Type: string

Optional Sentry DSN

Type: string Default: "macaroon"

The key of the k8s secret containing Synapse Macaroon

Type: number Default: 250

Maximum number of Matrix Active Users

Default: {"volume": {"size": "50Gi"}}


Must not be:

Type: object

The following properties are required:

  • s3

The following properties are required:

  • volume

Must not be:

Type: object

The following properties are required:

  • volume

The following properties are required:

  • s3
Type: object

The following properties are required:

  • s3
  • volume

Type: string Default: "100M"

The cap on the size of uploaded media. Size in bytes ending in M or K

Must match regular expression: ^[0-9]+[MK]$


Use a S3 compatible bucket to store Media long-term, only using the volume for short-term storage.

Type: object

The following properties are required:

  • region
Type: object

The following properties are required:

  • endpointUrl
Type: object

The following properties are required:

  • localCleanup

Type: object

Explicit authentication using an access key and secret access key

Type: string Default: "mediaS3StorageAccessKeyId"

Type: string Default: "mediaS3StorageSecretKey"

Type: string

The bucket name

Type: string

Target a non AWS-S3 Endpoint URL

Type: object Default: {}

Control cleanup of the local storage and offloading to S3

Type: string Default: "1h"

How often the local media cleanup to S3 should run. Supports s, m, h or d suffixes

Type: string Default: "1d"

How long since last access should it be before locally cached media is removed and if needed offloaded to S3. Supports s, h, d suffixes

Type: string Default: ""

Prefix within the bucket to use for storing/fetching media

Type: string

The S3 bucket region

Type: string Default: "STANDARD"

The object storage class used when uploading files to the bucket.

Default: {"size": "50Gi"}

The volume holding media


Must not be:

Type: object

The following properties are required:

  • name

The following properties are required:

  • size
Type: object

The following properties are required:

  • name
  • size

Type: string

The volume name to use to store the media


The volume size to use to store the media

Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[MGTPE])?$

Type: object

Configuration of the PostgreSQL database

Type: boolean Default: false

Allow Synapse to use a database with a locale distinct from the recommended C locale. It is very dangerous to do so and is strongly recommended to stay on the default setting.

Type: object Default: {}

Configure Synapse connection pool

Type: number Default: 10

The maximum number of connections in the pool.

Type: number Default: 5

The minimum number of connections in the pool.

Type: string

PostgreSQL database name

Type: string

PostgreSQL database host

Type: string Default: "postgresPassword"

The PostgreSQL password

Type: integer Default: 5432

PostgreSQL port

Value must be greater or equal to 0 and lesser or equal to 65535

Type: enum (of string) Default: "require"

TLS settings to use for the PostgreSQL connection

Must be one of:

  • "disable"
  • "allow"
  • "prefer"
  • "require"
  • "verify-ca"
  • "verify-full"

Type: string

PostgreSQL username

Type: enum (of string) Default: "closed"

Synapse registration

Must be one of:

  • "open"
  • "custom"
  • "closed"

Type: string Default: "registrationSharedSecret"

The key of the k8s secret containing Synapse registration shared secret

Default: {}

Local Synapse security settings

Type: object

The following properties are required:

  • passwordPolicy

Type: enum (of string) Default: "auto_all"

Auto Configuration
- auto_all Automatically enables encryption for all rooms created on the local server if all present integrations support it.
- auto_invite Automatically enables encryption for private rooms and private messages if all present integrations support it.

Forced Configuration
forced_all Enforces encryption for all rooms created on the local server, regardless of the integrations supporting encryption.
forced_invite Enforces encryption for private rooms and private messages, regardless of the integrations supporting encryption.

not_set Does not enforce encryption, leaving room encryption configuration choice to room admins.

Must be one of:

  • "auto_all"
  • "auto_invite"
  • "forced_all"
  • "forced_invite"
  • "not_set"

Type: object

Type: number Default: 15

Value must be greater or equal to 8

Type: boolean Default: true

Type: boolean Default: true

Type: string Default: "signingKey"

The key of the k8s secret containing Synapse signing key


TURN configuration

Type: object

The following properties are required:

  • turnUris
  • sharedSecretSecretKey

Must not be:

Type: object

The following properties are required:

  • turnUris
  • sharedSecretSecretKey

Type: string Default: "stunSharedSecret"

The key of the k8s secret containing the TURN shared secret

Type: array of string

The TURN server(s) that Synapse can provide credentials for

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: string

A TURN server URI. Should contain a schema (turn: or turns:), a hostname,
optionally a port and optionally a transport parameter (?transport=udp or ?transport=tcp).

Must match regular expression: ^turns?:[a-z0-9-.]+(:[0-9]+)?(\?transport=(udp|tcp))?$

Type: object Default: {}

Telemetry properties

Type: boolean Default: true

Whether Telemetry is enabled or not

Type: string

The telemetry instance id

Default: {}

Type: object

The following properties are required:

  • endpoint

Type: string

The matrix network statistics endpoint. Use https://matrix.org/report-usage-stats/push to push to the public matrix network statistics.

Must match regular expression: ^https:\/\/[A-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$

Type: string Default: "telemetryPassword"

The key of the k8s secret containing telemetry password

Type: string Default: "#element-telemetry"

The telemetry room where to send telemetry

Type: string

The telemetry username


Enable or disable URL Previews

Type: object

The following properties are required:

  • config

Must not be:

Type: object

The following properties are required:

  • config

Type: object

URL Previews configuration

Type: array of string Default: ["en"]

Languages to accept

No Additional Items

Each item of this array must be:

Type: string

Localization country subcode (en, fr, ...)

Must match regular expression: [a-z]{2}

Type: array of string

IP ranges for which you want to force-allow url previews.

No Additional Items

Each item of this array must be:

Type: object Default: {}

User Directory configuration

Type: boolean Default: true

Whether the user directory should show all users visible to this deployment, i.e. all users on this homeserver and all users on remote homeservers who share a room with a user on this homeserver.
If unset each user has their own view of the user directory which only includes users who share a room with them.

Type: array of object Default: []

Workers configuration

No Additional Items

Each item of this array must be:

Type: object

Type: string Default: ""

Arbitrary extra config to inject into the Synapse worker configuration as a YAML string

Type: integer Default: 1

Number of instances of this worker type

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "4Gi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "100m", "memory": "100Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: enum (of string)

Type of worker being configured

Must be one of:

  • "appservice"
  • "background"
  • "client-reader"
  • "encryption"
  • "event-creator"
  • "event-persister"
  • "federation-inbound"
  • "federation-reader"
  • "federation-sender"
  • "initial-synchrotron"
  • "media-repository"
  • "presence-writer"
  • "pusher"
  • "receipts-account"
  • "sso-login"
  • "synchrotron"
  • "typing-persister"
  • "user-dir"
  • "frontend-proxy"

Type: object Default: {}

You can override Kubernetes configuration for each component of Synapse

Type: object Default: {}

The annotations to add to every workloads, volume claims and service monitors deployed

Type: object Default: {}

The annotations to add to every workloads and ingresses deployed

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: object Default: {}

k8s properties of the haproxy workloads inside synapse component

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: number

The number of Synapse HAProxy replicas

Value must be greater or equal to 1

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "200Mi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "100m", "memory": "100Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 10001

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 10001

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: object

Settings dedicated to k8s ingresses

Type: object Default: {}

Defines the annotations to add

Each additional property must conform to the following schema

Type: string

Type: string

Fully qualified domain name of the ingress

Type: string

An optional IngressClass name to be used for this ingress. Optional if you are managing ingress / loadbalancer externally.

Type: object Default: {}

Type: enum (of string)

Default service type

Must be one of:

  • "ClusterIP"
  • "NodePort"
  • "LoadBalancer"



Must not be:

Type: object

The following properties are required:

  • certificate
  • secretName

The following properties are required:

  • certmanager

Type: object
Must match regular expression: certmanager

Must not be:

Type: object

The following properties are required:

  • certmanager
  • secretName

The following properties are required:

  • certificate

Type: object
Must match regular expression: certfile

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager

The following properties are required:

  • secretName

Type: object
Must match regular expression: existing

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager
  • secretName

Type: object
Must match regular expression: external

Type: object

Certificate file

Type: string Default: "synapseCertificate"

Synapse Server Certificate

Type: string Default: "synapsePrivateKey"

Synapse Server Private Key

Type: object

The cert-manager properties, if enabled

Type: string

The name of cert-manager ClusterIssuer to use

Type: enum (of string)

The TLS mode of this component ingress. Use external if TLS is managed externaly to the cluster, certmanager if you want to use cert manager to issue certificate automatically, or certfile if you want to upload certificate files to kubernetes tls secrets manually.

Must be one of:

  • "certmanager"
  • "external"
  • "certfile"
  • "existing"

Type: string

The name of a secret in the cluster that contains TLS certificates

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object Default: {}

k8s properties of the redis workloads inside synapse component

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "50Mi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "50m", "memory": "50Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 10002

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 10002

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: object Default: {}

k8s properties of the synapse workloads inside synapse component

Type: object Default: {}

Settings dedicated to k8s

Type: object Default: {}

The annotations to add to every workloads and ingresses deployed

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: object Default: {}

Settings dedicated to monitoring

Type: object Default: {}

Service monitor settings

Type: enum (of string) Default: "auto"

Enable or disable monitoring using ServiceMonitor resources

Must be one of:

  • "enable"
  • "disable"
  • "auto"

Type: object Default: {}

Settings dedicated to k8s storage

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "4Gi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "100m", "memory": "100Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 10991

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 10991

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: string Default: "synapse"

The secret data associated to synapse config Key matching config.macaroonSecretKey, config.registrationSharedSecretSecretKey, config.signingKeySecretKey, config.adminPasswordSecretKey, config.telemetry.password and config.postgres.passwordSecretKey must be present. If ingress is tls mode is using certificate, key matching k8s.ingress.certificate.certFileSecretKey and k8s.ingress.certificate.privateKeySecretKey must be present If stun is enabled, key matching config.stun.sharedSecretSecretKey must be present. To override synapse default trust store for federation, every keys of config.federation.certificateAutoritiesSecretKeys should be present.

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object

This is a web based user interface used to administrate your Element Deployment.

Type: object Default: {}

Type: string

The location the host admin may be reached, comma delimited

Type: enum (of string) Default: "useGlobalSetting"

TLS Verification

Must be one of:

  • "useGlobalSetting"
  • "force"
  • "disable"

Type: object Default: {}

You can override Kubernetes configuration for each component of Synapse Admin

Type: object Default: {}

Settings dedicated to k8s

Type: object Default: {}

The annotations to add to every workloads and ingresses deployed

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: object

Settings dedicated to k8s ingresses

Type: object Default: {}

Defines the annotations to add

Each additional property must conform to the following schema

Type: string

Type: string

Fully qualified domain name of the ingress

Type: string

An optional IngressClass name to be used for this ingress. Optional if you are managing ingress / loadbalancer externally.

Type: object Default: {}

Type: enum (of string)

Default service type

Must be one of:

  • "ClusterIP"
  • "NodePort"
  • "LoadBalancer"



Must not be:

Type: object

The following properties are required:

  • certificate
  • secretName

The following properties are required:

  • certmanager

Type: object
Must match regular expression: certmanager

Must not be:

Type: object

The following properties are required:

  • certmanager
  • secretName

The following properties are required:

  • certificate

Type: object
Must match regular expression: certfile

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager

The following properties are required:

  • secretName

Type: object
Must match regular expression: existing

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager
  • secretName

Type: object
Must match regular expression: external

Type: object

Certificate file

Type: string Default: "synapseAdminUICertificate"

Synapse Admin UI Certificate

Type: string Default: "synapseAdminUIPrivateKey"

Synapse Admin UI Private Key

Type: object

The cert-manager properties, if enabled

Type: string

The name of cert-manager ClusterIssuer to use

Type: enum (of string)

The TLS mode of this component ingress. Use external if TLS is managed externaly to the cluster, certmanager if you want to use cert manager to issue certificate automatically, or certfile if you want to upload certificate files to kubernetes tls secrets manually.

Must be one of:

  • "certmanager"
  • "external"
  • "certfile"
  • "existing"

Type: string

The name of a secret in the cluster that contains TLS certificates

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: number

The number of Synapse Admin UI replicas

Value must be greater or equal to 1

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "500Mi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "50m", "memory": "50Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 10019

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 10019

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: string Default: "synapse-admin"

The secret data associated to synapse admin config If ingresses is tls mode is using certificate, key matching k8s.ingresses.synapseAdminUi.certificate.certFileSecretKey and k8s.ingresses.synapseAdminUi.certificate.privateKeySecretKey must be present

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object

Deploy a Telegram Bridge to be able to talk to Telegram users and rooms from Element.

Type: object

Type: string

Additional config to inject

Type: enum (of string) Default: "allowed"

Level of end-to-bridge encryption required. Disabled will turn off end-to-bridge encryption, Allowed will turn it on but not make bridged rooms default to encrypted. Defaulted turns it on and makes bridged rooms encrypted. Finally forced drops unencrypted messages entirely.

Must be one of:

  • "disabled"
  • "allowed"
  • "defaulted"
  • "forced"

Type: object Default: {}

Bridge logging level

Type: enum (of string) Default: "info"

Bridge logging level

Must be one of:

  • "info"
  • "debug"
  • "warn"
  • "error"

Type: object Default: {}

The matrix-side configuration of the bridge

Type: string Default: "_telegram_"

The bridge rooms alias prefix

Type: object Default: {}

Configure the bridge bot

Type: string Default: ""

The avatar the appservice bot will have, provided in the form of an MXC URL. MXC URLs can be obtained by uploading media to a Matrix homeserver. "mxc://matrix.org/KJSfYJTISAOQkQzVlTIIlTGz"

Type: string Default: "Telegram Bot"

The display name of the appservice bot

Type: string Default: "telegrambot"

The username of the appservice bot

Type: boolean Default: true

Enable public portal

Type: boolean Default: true

Deprecated - Always set to true

Type: string Default: "_telegram_"

The bridge user prefix

Type: number

Max RMAU that can use TelegramBridge

Type: object
    • All Matrix users

      domain - All users on that homeserver

      mxid - Specific user

Each additional property must conform to the following schema

Type: enum (of string)

Permission level

Must be one of:

  • "relaybot"
  • "user"
  • "puppeting"
  • "full"
  • "admin"

Type: object

Configuration of the PostgreSQL database

Type: string

PostgreSQL database name

Type: string

PostgreSQL database host

Type: string Default: "postgresPassword"

The PostgreSQL password

Type: integer Default: 5432

PostgreSQL port

Value must be greater or equal to 0 and lesser or equal to 65535

Type: enum (of string) Default: "require"

TLS settings to use for the PostgreSQL connection

Must be one of:

  • "disable"
  • "allow"
  • "prefer"
  • "require"
  • "verify-ca"
  • "verify-full"

Type: string

PostgreSQL username

Type: object Default: {}

Telegram bridge configuration

Type: string Default: "telegramApiHash"

The telegram bridge api hash secret key

Type: string Default: "telegramApiId"

The telegram bridge api id secret key

Type: object Default: {}

The telegram connection properties

Type: number Default: 0

How many concurrent connections should be handled on startup. Set to 0 to allow unlimited connections

Type: number Default: 60

The threshold below which the library should automatically sleep on flood wait errors (inclusive). For instance, if a FloodWaitError for 17s occurs and floodsleepthreshold is 20s, the library will sleep automatically. If the error was for 21s, it would raise the error instead. Values larger than a day (86400) will be changed to a day.

Type: number Default: 5

How many times a request should be retried. Request are retried when Telegram is having internal issues, when there is a FloodWaitError less than floodsleepthreshold, or when there's a migrate error. May take a negative or null value for infinite retries, but this is not recommended, since some requests can always trigger a call fail (such as searching for messages).

Type: number Default: 5

How many times the reconnection should retry, either on the initial connection or when Telegram disconnects us. May be set to a negative or null value for infinite retries, but this is not recommended, since the program can get stuck in an infinite loop.

Type: number Default: 1

The delay in seconds to sleep between automatic reconnections.

Type: number Default: 120

The timeout in seconds to be used when connecting.

Type: number Default: 120

The timeout in seconds after which the bridge reports an error on the /_matrix/mau/live endpoint. If no events are being received from Telegram this enables a management tool like Kubernetes to automatically restart the bridge. Negative values, 0 and no value will make the endpoint always report HTTP 200 after startup.

Type: enum (of string) Default: "useGlobalSetting"

TLS Verification

Must be one of:

  • "useGlobalSetting"
  • "force"
  • "disable"

Type: object Default: {}

Type: object Default: {}

Settings dedicated to k8s

Type: object Default: {}

The annotations to add to every workloads and ingresses deployed

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: object

Settings dedicated to k8s ingresses

Type: object Default: {}

Defines the annotations to add

Each additional property must conform to the following schema

Type: string

Type: string

Fully qualified domain name of the ingress

Type: string

An optional IngressClass name to be used for this ingress. Optional if you are managing ingress / loadbalancer externally.

Type: object Default: {}

Type: enum (of string)

Default service type

Must be one of:

  • "ClusterIP"
  • "NodePort"
  • "LoadBalancer"



Must not be:

Type: object

The following properties are required:

  • certificate
  • secretName

The following properties are required:

  • certmanager

Type: object
Must match regular expression: certmanager

Must not be:

Type: object

The following properties are required:

  • certmanager
  • secretName

The following properties are required:

  • certificate

Type: object
Must match regular expression: certfile

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager

The following properties are required:

  • secretName

Type: object
Must match regular expression: existing

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager
  • secretName

Type: object
Must match regular expression: external

Type: object

Certificate file

Type: string Default: "certificate"

TelegramBridge Certificate

Type: string Default: "privateKey"

TelegramBridge Private Key

Type: object

The cert-manager properties, if enabled

Type: string

The name of cert-manager ClusterIssuer to use

Type: enum (of string)

The TLS mode of this component ingress. Use external if TLS is managed externaly to the cluster, certmanager if you want to use cert manager to issue certificate automatically, or certfile if you want to upload certificate files to kubernetes tls secrets manually.

Must be one of:

  • "certmanager"
  • "external"
  • "certfile"
  • "existing"

Type: string

The name of a secret in the cluster that contains TLS certificates

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object Default: {}

Settings dedicated to monitoring

Type: object Default: {}

Service monitor settings

Type: enum (of string) Default: "auto"

Enable or disable monitoring using ServiceMonitor resources

Must be one of:

  • "enable"
  • "disable"
  • "auto"

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "1000Mi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "50m", "memory": "150Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 10117

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 10117

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: string Default: "telegram-bridge"

The secret data associated to TelegramBridge config

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object

This is a well known delegation file hosted as a static site.

Type: object Default: {}

Type: string

WellKnownDelegation additional client configuration.

Type: string

WellKnownDelegation additional element configuration.

Type: string

WellKnownDelegation additional server configuration.

Type: object Default: {}

You can override Kubernetes configuration for each component of WellKnownDelegation

Type: object Default: {}

Settings dedicated to k8s

Type: object Default: {}

The annotations to add to every workloads and ingresses deployed

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: object Default: {}

Settings dedicated to k8s ingresses

Type: object Default: {}

Defines the annotations to add

Each additional property must conform to the following schema

Type: string

Type: string

An optional IngressClass name to be used for this ingress. Optional if you are managing ingress / loadbalancer externally.

Type: object Default: {}

Type: enum (of string)

Default service type

Must be one of:

  • "ClusterIP"
  • "NodePort"
  • "LoadBalancer"



Must not be:

Type: object

The following properties are required:

  • certificate
  • secretName

The following properties are required:

  • certmanager

Type: object
Must match regular expression: certmanager

Must not be:

Type: object

The following properties are required:

  • certmanager
  • secretName

The following properties are required:

  • certificate

Type: object
Must match regular expression: certfile

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager

The following properties are required:

  • secretName

Type: object
Must match regular expression: existing

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager
  • secretName

Type: object
Must match regular expression: external

Type: object

Certificate file

Type: string Default: "wellKnownDelegationCertificate"

WellKnownDelegation Certificate

Type: string Default: "wellKnownDelegationPrivateKey"

WellKnownDelegation Private Key

Type: object

The cert-manager properties, if enabled

Type: string

The name of cert-manager ClusterIssuer to use

Type: enum (of string)

The TLS mode of this component ingress. Use external if TLS is managed externaly to the cluster, certmanager if you want to use cert manager to issue certificate automatically, or certfile if you want to upload certificate files to kubernetes tls secrets manually.

Must be one of:

  • "certmanager"
  • "external"
  • "certfile"
  • "existing"

Type: string

The name of a secret in the cluster that contains TLS certificates

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: number

The number of Well-Known Delegation replicas

Value must be greater or equal to 1

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "200Mi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "50m", "memory": "50Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 10003

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 10003

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: string Default: "well-known-delegation"

The secret data associated to wellKnownDelegation config If ingress is tls mode is using certificate, key matching k8s.ingress.certificate.certFileSecretKey and k8s.ingress.certificate.privateKeySecretKey must be present

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object

Deploy a WhatsApp Bridge to be able to talk to WhatsApp users and rooms from Element.

Type: object

Type: string

Additional config to inject

Type: enum (of string) Default: "allowed"

Level of end-to-bridge encryption required. Disabled will turn off end-to-bridge encryption, Allowed will turn it on but not make bridged rooms default to encrypted. Defaulted turns it on and makes bridged rooms encrypted. Finally forced drops unencrypted messages entirely.

Must be one of:

  • "disabled"
  • "allowed"
  • "defaulted"
  • "forced"

Type: object Default: {}

WhatsApp Logging settings

Type: enum (of string) Default: "pretty"

How the log should be formatted

Must be one of:

  • "pretty"
  • "json"

Type: enum (of string) Default: "info"

The level of WhatsApp log output

Must be one of:

  • "trace"
  • "debug"
  • "info"
  • "warn"
  • "error"
  • "fatal"
  • "panic"

Type: object Default: {}

The matrix-side configuration of the bridge

Type: object Default: {}

Configure the bridge bot

Type: string Default: ""

The avatar the appservice bot will have, provided in the form of an MXC URL. MXC URLs can be obtained by uploading media to a Matrix homeserver. "mxc://maunium.net/NeXNQarUbrlYBiPCpprYsRqr"

Type: string Default: "WhatsApp Bridge Bot"

The display name of the appservice bot

Type: string Default: "whatsappbot"

The username of the appservice bot

Type: string Default: "whatsapp_"

The bridge user prefix

Type: object

Set permissions levels to the bridge for different users. Anyone not specified has no
permissions to use the bridge. At least two permission entries are required.

  • Enter * to set the permissions for all users

  • Enter a domain (server.example) to set the permissions for all users on that homeserver

  • Enter a full MXID (@localpart:server.example) to set the permissions just for that user

On clicking Add to Permissions you can then specify the permission level.

Each additional property must conform to the following schema

Type: enum (of string)

Permission level

Must be one of:

  • "relaybot"
  • "user"
  • "admin"

Type: object

Configuration of the PostgreSQL database

Type: string

PostgreSQL database name

Type: string

PostgreSQL database host

Type: string Default: "postgresPassword"

The PostgreSQL password

Type: integer Default: 5432

PostgreSQL port

Value must be greater or equal to 0 and lesser or equal to 65535

Type: enum (of string) Default: "require"

TLS settings to use for the PostgreSQL connection

Must be one of:

  • "disable"
  • "require"
  • "verify-ca"
  • "verify-full"

Type: string

PostgreSQL username

Type: object Default: {}

Type: object Default: {}

Settings dedicated to k8s

Type: object Default: {}

The annotations to add to every workloads and ingresses deployed

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: object Default: {}

Settings dedicated to monitoring

Type: object Default: {}

Service monitor settings

Type: enum (of string) Default: "auto"

Enable or disable monitoring using ServiceMonitor resources

Must be one of:

  • "enable"
  • "disable"
  • "auto"

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "1000Mi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "50m", "memory": "150Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 10118

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 10118

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: string Default: "whatsapp-bridge"

The secret data associated to WhatsApp Bridge config

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object

Deploy an XMPP Bridge to talk to XMPP users and channels from Element.

Type: object

Type: object Default: {}

Logging settings

Type: enum (of string) Default: "info"

The maximum level of log output

Must be one of:

  • "info"
  • "debug"
  • "warning"
  • "error"

Type: object Default: {}

Configure matrix-side of the bridge

Type: string Default: "_xmpp_"

The bridge rooms alias prefix

Type: object Default: {}

Configure the bridge bot

Type: string Default: "xmpp-bot"

Bot username

Type: boolean Default: true

Enable matrix room aliases join request

Type: string Default: "_xmpp_"

The bridge user prefix

Type: object

Configuration of the PostgreSQL database

Type: string

PostgreSQL database name

Type: string

PostgreSQL database host

Type: string Default: "postgresPassword"

The PostgreSQL password

Type: integer Default: 5432

PostgreSQL port

Value must be greater or equal to 0 and lesser or equal to 65535

Type: enum (of string) Default: "no-verify"

TLS settings to use for the PostgreSQL connection

Must be one of:

  • "disable"
  • "no-verify"
  • "verify-full"

Type: string

PostgreSQL username

Type: enum (of string) Default: "useGlobalSetting"

TLS Verification

Must be one of:

  • "useGlobalSetting"
  • "force"
  • "disable"

Type: object

The XMPP side configuration of the bridge

Type: string Default: "componentPassword"

The component password secret key

Type: string

The XMPP domain name

Type: string

The XMPP Service address

Type: object Default: {}

Type: object Default: {}

Settings dedicated to k8s

Type: object Default: {}

The annotations to add to every workloads and ingresses deployed

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: object Default: {}

Settings dedicated to monitoring

Type: object Default: {}

Service monitor settings

Type: enum (of string) Default: "auto"

Enable or disable monitoring using ServiceMonitor resources

Must be one of:

  • "enable"
  • "disable"
  • "auto"

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: object Default: {}

Kubernetes resources to allocate to each instance.

Type: object Default: {"memory": "1000Mi"}

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Type: object Default: {"cpu": "50m", "memory": "100Mi"}

Requests describes the minimum amount of compute resources required. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

Each additional property must conform to the following schema


Must match regular expression: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string)

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: number Default: 10300

The fsGroup GID to use if securityContextForceUidGid is enabled

Type: number Default: 10300

The runAsUser UID to use if securityContextForceUidGid is enabled

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string)

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: string Default: "xmpp-bridge"

The secret data associated to XmppBridge config

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object Default: {}

Type: object Default: {}

Type: array of string Default: ["0.0.0.0/0", "::/0"]

An array of allowed ips for admin endpoints

No Additional Items

Each item of this array must be:

Type: string

An IPv4 or IPv6 range

Type: string Default: "ca.pem"

The CA to inject into the deployment. It must be a file concatenating all the Base64 encoded certificates present in the CA chain that the deployment will have to interact with.

Type: string

The domain name of this deployment. It will be used for the <localpart> of the users MXIDs, and cannot be changed afterwards

Type: string Default: "genericSharedSecret"

The generic shared secret to use as a seed for all internally-generated secrets

Type: string

A configmap containing images digests metadata to override

Type: boolean Default: false

Enable DNS Record delegation. In this mode, WellKnownDelegation is not deployed, and the domain name is served under Synapse ingress.

Type: boolean Default: true

TLS verification

Type: object Default: {}

Type: object Default: {}

Settings dedicated to k8s

Type: object Default: {}

The annotations to add to every workloads and ingresses deployed

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: object Default: {}

Settings dedicated to k8s ingresses

Type: object Default: {}

Defines the annotations to add

Each additional property must conform to the following schema

Type: string

Type: string

An optional IngressClass name to be used for this ingress. Optional if you are managing ingress / loadbalancer externally.

Type: object Default: {}

Type: enum (of string) Default: "ClusterIP"

Default service type

Must be one of:

  • "ClusterIP"
  • "NodePort"
  • "LoadBalancer"



Must not be:

Type: object

The following properties are required:

  • certificate
  • secretName

The following properties are required:

  • certmanager

Type: object
Must match regular expression: certmanager

Must not be:

Type: object

The following properties are required:

  • certmanager
  • secretName

The following properties are required:

  • certificate

Type: object
Must match regular expression: certfile

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager

The following properties are required:

  • secretName

Type: object
Must match regular expression: existing

Must not be:

Type: object

The following properties are required:

  • certificate
  • certmanager
  • secretName

Type: object
Must match regular expression: external

Type: object

The default certificate for every ingresses can be configured here. It can be used for example if you plan to use a wildcard certificate, or a certificate containing all components fqdns as SAN.

Type: object

The cert-manager properties, if enabled

Type: string

The name of cert-manager ClusterIssuer to use

Type: enum (of string)

The default TLS mode of deployed ingresses. Use external if TLS is managed externaly to the cluster, certmanager if you want to use cert manager to issue certificate automatically, or certfile if you want to upload certificate files to kubernetes tls secrets manually.

Must be one of:

  • "certmanager"
  • "external"
  • "certfile"
  • "existing"

Type: string

The name of a secret in the cluster that contains TLS certificates

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long

Type: object Default: {}

Settings dedicated to monitoring

Type: object Default: {}

Service monitor settings

Type: enum (of string) Default: "auto"

Enable or disable monitoring using ServiceMonitor resources

Must be one of:

  • "enable"
  • "disable"
  • "auto"

Type: object

Global storage configuration

Type: string

The storage class name to use

Type: object Default: {}

Settings dedicated to k8s workloads

Type: object Default: {}

The annotations to add to the workload

Each additional property must conform to the following schema

Type: string

Defines the annotations to add

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Docker secret to use for ems image store

Type: string

The docker registry url for this secret

Type: array of object Default: []

The list of hosts aliases to configure on the pod spec. It is advised to instead use a DNS entry to resolve your hostnames, instead of this feature. This feature can be used as a workaround when entries cannot be resolved using DNS, for example in our automated testing routines.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

An hostname of the associated ip to add to /etc/hosts

Must match regular expression: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$

Type: string

An IP resolution to add to /etc/hosts

Type: object

NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

Each additional property must conform to the following schema

Type: string

Type: number Default: 2

The number of replicas for workloads supporting it

Value must be greater or equal to 1

Default: {}

Type: object

The following properties are required:

  • seLinuxOptions

Type: enum (of string) Default: "auto"

Enable pod runAsUser and fsGroup in security context. Disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: object

Type: string

Level is SELinux level label that applies to all the workload containers.

Type: string

Role is SELinux level label that applies to all the workload containers.

Type: string

Type is SELinux level label that applies to all the workload containers.

Type: string

User is SELinux level label that applies to all the workload containers.

Type: enum (of string) Default: "auto"

Enable RuntimeDefault pod seccomp. disable if it should not be used, in the case of openshift for example. Auto attemps to detect openshift automatically.

Must be one of:

  • "enable"
  • "auto"
  • "disable"

Type: array of object

Workload tolerations

No Additional Items

Each item of this array must be:

Type: object

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.

Type: string

Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.

Type: string

Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.

Type: string

Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.

Type: number

TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.

Type: string

Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.

Type: string Default: "global"

The secret holding the global data

Must match regular expression: ^[a-z0-9]([\-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([\-a-z0-9]*[a-z0-9])?)*$

Must be at most 253 characters long