App Suite Releases
  • 8.35
  • 7.10.6
Imprint
  • 8.35
  • 7.10.6
Imprint
  • Release 8.37
  • Release 8.36
    • Noteworthy Changes
      • Important Changes
      • App Suite Middleware
    • Changelogs
      • App Suite UI
      • App Suite Middleware
      • Additional Components
        • AI Service
    • Helm Charts
      • AI-Service documentation
      • App Suite Stack Chart
      • Cache Service
      • DocumentConverter
      • ImageConverter
      • App Suite Middleware Core
      • SpellCheck
      • Switchboard
  • Release 8.35
  • Release 8.34
  • Release 8.33
  • Release 8.32
  • Release 8.31
  • Release 8.30
  • Release 8.29
  • Release 8.28
  • Release 8.27
  • Release 8.26
  • Release 8.25
  • Release 8.24
  • Release 8.23
  • Release 8.22
  • Release 8.21
  • Release 8.20
  • Release 8.19
  • Release 8.18
  • Release 8.17
  • Release 8.16
  • Release 8.15
  • Release 8.14
  • Release 8.13
  • Release 8.12
  • Release 8.11
  • Release 8.10

App Suite Middleware Core

Version: 6.7.2 Type: application AppVersion: 8.36.0

App Suite Middleware Core Helm Chart

Maintainers

NameEmailUrl
Open-Xchange GmbHinfo@open-xchange.com

Source Code

  • https://github.com/open-xchange/appsuite-middleware

Requirements

RepositoryNameVersion
oci://registry.open-xchange.com/appsuite-core-internal/charts/3rdpartycollabora-online1.1.33
oci://registry.open-xchange.com/appsuite-core-internal/charts/3rdpartygotenberg1.10.0
oci://registry.open-xchange.com/appsuite-core-internal/chartsox-common1.0.47

Additional informations

4.0.0

  • This version introduces new configuration.redis and configuration.sessiond section which adds support for Redis. Please refer to the documentation in values.yaml.
  • Changed the default service type from NodePort to ClusterIP for http-api, sync and admin service.
  • Removed all ingress configuration settings.
  • Removed services.documentconverterHost, services.imageconverterHost and services.spellcheckHost. Not necessary anymore but it's possible to override them e.g. via .Values.global.dc.serviceName
  • Renamed environment variables
    • OX_IMAGECONVERTER_URL → IC_SERVER_URL
    • OX_SPELLCHECK_URL → SPELLCHECK_SERVER_URL
    • OX_DOCUMENTCONVERTER_URL → DC_SERVER_URL
  • Partially or fully override ox-common.names.fullname via nameOverride or fullnameOverride.

5.10.1

  • This version introduces new configuration.redis.cache section which adds support for a separate cache for volatile data. Please refer to the documentation in values.yaml.

6.0.1

  • Hazelcast is now required for OX Documents only.
  • Disabled packages open-xchange-documents-backend and open-xchange-hazelcast per default.
  • Introduced a new role documents that enables packages open-xchange-documents-backend and open-xchange-hazelcast and adds necessary HZ_* env variables to containers. The role has been added to the defaultScaling.
  • Removed packages.minimalWhitelist as it was not used anymore
  • Removed role hazelcast-data-holding and hazelcast-lite-member

6.4.0

  • Whether to use TLS to connect to the Redis endpoint can now be configured using redis.tls.enabled and redis.cache.tls.enabled.

Upgrading

To 6.0.1

If you are using custom node definitions (scaling.nodes) in your Helm values, please make sure to remove roles hazelcast-data-holding and hazelcast-lite-member. Beside of that, a new role called documents has been introduced. The role needs to be added to every node definition that contains the http-api role and should run OX Documents. Furthermore, it ensures that a Hazelcast headless service is still deployed for OX Documents.

Please consider the following scaling.nodes definition:

core-mw:
  scaling:
    nodes:
      groupware:
        replicas: 2
        roles:
          - admin
          - http-api
          - hazelcast-data-holding
      sync:
        replicas: 1
        roles:
          - sync
          - businessmobility
          - hazelcast-lite-member

A migrated version could look like this:

core-mw:
  scaling:
    nodes:
      groupware:
        replicas: 2
        roles:
          - admin
          - http-api
          - documents
      sync:
        replicas: 1
        roles:
          - sync
          - businessmobility

Warning

Nodes that do not have the role documents will not be deployed as a StatefulSet anymore. Instead they will be deployed as a Deployment. Upgrading a StatefulSet to a Deployment is not easily possible without some preparation. Simply upgrading via Helm would remove all pods of the StatefulSet before starting the first pod of the new Deployment. This would result in a short downtime for endusers.

Example

Take a look at the following migrated example:

core-mw:
  scaling:
    nodes:
      groupware-without-docs:
        replicas: 2
        roles:
          - admin
          - http-api
      sync:
        replicas: 1
        roles:
          - sync
          - businessmobility

Nodes groupware-without-docs will not run OX Documents and roles hazelcast-data-holding and hazelcast-lite-member have been removed, too. Prior 6.0.1, those nodes were deployed as a StatefulSet. After the upgrade, they will be deployed as Deployment. If downtime is not feasible, you need to do the following before the upgrade:

  1. Remove the StatefulSet without removing the pods with:
kubectl delete statefulset appsuite-core-mw-groupware-without-docs --cascade=orphan
  1. Upgrade via Helm

If you're low on resources, you should scale replicas to 0 in your values.yaml. Otherwise, you will end up with the two pods from the StatefulSet and another two pods for the Deployment:

core-mw:
  scaling:
    nodes:
      groupware-without-docs:
        replicas: 0
        [...]

You can now upgrade the deployment via Helm:

helm upgrade [...]

After the upgrade, you can manually delete the StatefulSet pods and scale up the Deployment:

kubectl delete pod appsuite-core-mw-groupware-without-docs-1
kubectl scale deployment appsuite-core-mw-groupware-without-docs --replicas=1
kubectl delete pod appsuite-core-mw-groupware-without-docs-0
kubectl scale deployment appsuite-core-mw-groupware-without-docs --replicas=2

This process needs to be followed for all node definitions that previously had the hazelcast-data-holding role without having the documents role after the migration.

Don't forget to scale up the replicas in your values.yaml again.

Configuration

The following table lists the configurable parameters of the App Suite Middleware Core chart and their default values.

KeyTypeDefaultDescription
affinityobject{}Affinity for pod assignment
asConfig.default.hoststring"all"
basicAuthLoginstring""The user name used for HTTP basic auth.
basicAuthPasswordstring""The password used for HTTP basic auth.
collabora-online.enabledboolfalseWhether Collabora should be enabled or not.
collabora-online.image.repositorystring"registry.open-xchange.com/appsuite-core-internal/3rdparty/collabora-online"
collabora-online.image.tagstring"24.04.12.3.1"
configurationobject{"businessmobility":{"logging":{"debug":{"enabled":false,"logPath":""}}},"languages":[],"logging":{"debug":true,"file":{"maxFileSize":"2MB","maxIndex":99,"minIndex":0,"name":"/var/log/open-xchange/open-xchange.log.0","pattern":"/var/log/open-xchange/open-xchange.log.%i"},"json":{"prettyPrint":false},"logger":[{"level":"WARN","name":"org.apache.cxf"},{"level":"WARN","name":"com.openexchange.soap.cxf.logger"}],"logstash":{"host":"localhost","port":31337},"queueSize":2048,"root":{"file":false,"json":true,"level":"INFO","logstash":false},"syslog":{"facility":"USER","host":"localhost","port":514}}}Configuration
configuration.businessmobility.logging.debug.enabledboolfalseWhether debug log is enabled or not
configuration.businessmobility.logging.debug.logPathstring""The path of the log file @default /var/log/open-xchange
configuration.languageslist[]List of languages which should be enabled. The default set of languages is de_DE, en_US, es_ES, fr_FR and it_IT.
Example for enabling a couple of languages: [ nl_NL, fi_FI, pl_PL ] or for all available languages [ all ]
configuration.logging.debugbooltrueEnables logback's debug mode
configuration.logging.json.prettyPrintboolfalseWhether PrettyPrint is enabled
configuration.logging.loggerlist[{"level":"WARN","name":"org.apache.cxf"},{"level":"WARN","name":"com.openexchange.soap.cxf.logger"}]List of named logger
configuration.logging.logstashobject{"host":"localhost","port":31337}Logstash configuration
configuration.logging.queueSizeint2048The number of logging events to retain for delivery
configuration.logging.root.fileboolfalseWhether File logging is enabled
configuration.logging.root.jsonbooltrueWhether JSON logging is enabled
configuration.logging.root.levelstring"INFO"Sets the log level of the root logger
configuration.logging.root.logstashboolfalseWhether logging to logstash is enabled
configuration.logging.syslogobject{"facility":"USER","host":"localhost","port":514}Syslog configuration
containerPortslist[{"containerPort":8009,"name":"http"}]Container ports
contextSetsobject{}Context sets
createCommonEnvbooltrueWhether to create a secret containing common properties as environment variables (e.g. SESSIOND_ENCRYPTION_KEY)
credstoragePasscryptstring""Key to encrypt/decrypt the password held in credential storage.
defaultRegistrystring"registry.open-xchange.com"The default registry
defaultScaling.nodes.default.roles[0]string"http-api"
defaultScaling.nodes.default.roles[1]string"sync"
defaultScaling.nodes.default.roles[2]string"admin"
defaultScaling.nodes.default.roles[3]string"businessmobility"
defaultScaling.nodes.default.roles[4]string"request-analyzer"
defaultScaling.nodes.default.roles[5]string"documents"
documentConverterClient.cache.remoteCache.enabledbooltrue
enableDBConnectionCheckbooltrueWhether to wait for configdb.
enableInitializationboolfalseWhether initial bootstraping is enabled or not.
etcBinarieslist[]etc files
etcFilesobject{}etc files
extraContainerslist[]List of extra sidecar containers
extraEnvlist[]List of extra environment variables
extraMountslist[]List of extra mounts
extraPodSpecobject{}Extra PodSpec definitions
extraStatefulSetPropertiesobject{}List of extra StatefulSet properties
extraVolumeslist[]List of extra volumes
extras.monitoring.enabledboolfalseWhether monitoring resources should be created, e.g. a ConfigMap containing the Grafana dashboards.
featuresobject{"definitions":{"admin":["open-xchange-admin","open-xchange-admin-contextrestore","open-xchange-admin-soap","open-xchange-admin-soap-usercopy","open-xchange-admin-user-copy"],"documents":["open-xchange-documents-backend","open-xchange-hazelcast"],"guard":["open-xchange-guard","open-xchange-guard-backend-mailfilter","open-xchange-guard-backend-plugin","open-xchange-guard-file-storage","open-xchange-guard-s3-storage"],"omf-source":["open-xchange-omf-source","open-xchange-omf-source-dualprovisioning","open-xchange-omf-source-dualprovisioning-cloudplugins","open-xchange-omf-source-guard","open-xchange-omf-source-mailfilter"],"plugins":["open-xchange-plugins-antiphishing","open-xchange-plugins-antiphishing-vadesecure","open-xchange-plugins-blackwhitelist","open-xchange-plugins-blackwhitelist-sieve","open-xchange-plugins-contact-storage-group","open-xchange-plugins-contact-storage-provider","open-xchange-plugins-contact-whitelist-sync","open-xchange-plugins-mx-checker","open-xchange-plugins-onboarding-maillogin","open-xchange-plugins-trustedidentity","open-xchange-plugins-unsubscribe","open-xchange-plugins-unsubscribe-vadesecure"],"reseller":["open-xchange-admin-reseller","open-xchange-admin-soap-reseller"],"usm-eas":["open-xchange-usm","open-xchange-eas"],"weakforced":["open-xchange-weakforced"]},"status":{"documents":"disabled","omf-source":"disabled","plugins":"disabled","reseller":"disabled","usm-eas":"disabled","weakforced":"disabled"}}Feature definition
features.definitions.adminlistsee values.yamlAdmin definitions
features.definitions.documentslistsee values.yamlDocuments definitions
features.definitions.guardlistsee values.yamlGuard definitions
features.definitions.omf-sourcelistsee values.yamlOX2OX Migration Framework Source definitions
features.definitions.pluginslistsee values.yamlPlugins definitions
features.definitions.resellerlistsee values.yamlReseller definitions
features.definitions.usm-easlistsee values.yamlUSM EAS sync definitions
features.statusobjectsee values.yamlChoose whether to enable or disable features.
fullnameOverridestring""Fully override of the ox-common.names.fullname template
global.extras.monitoring.enabledboolfalse
global.imageRegistrystring""Sets the image registry globally
global.mysql.existingSecretstring""
gotenberg.chromium.disableJavaScriptbooltrue
gotenberg.enabledboolfalseWhether Gotenberg should be enabled or not.
gotenberg.image.repositorystring"registry.open-xchange.com/appsuite-core-internal/3rdparty/gotenberg"
gotenberg.image.tagstring"8.17.1"
gotenberg.securityContext.readOnlyRootFilesystembooltrue
gotenberg.volumeMounts[0].mountPathstring"/tmp"
gotenberg.volumeMounts[0].namestring"tmp-volume"
gotenberg.volumes[0].emptyDir.mediumstring"Memory"
gotenberg.volumes[0].emptyDir.sizeLimitstring"256Mi"
gotenberg.volumes[0].namestring"tmp-volume"
hooks.beforeApplyobject{}
hooks.beforeAppsuiteStartobject{}
hooks.startobject{}
hzGroupNamestring""The Hazelcast group name.
hzGroupPasswordstring""The Hazelcast group password.
image.pullPolicystring"IfNotPresent"Image pull policy
image.repositorystring"appsuite-core/middleware"Image repository
image.tagstring""Image tag
imagePullSecretslist[]Reference to one or more secrets to be used when pulling images
initContainerobject{}
istio.compression.enabledboolfalseWhether to enable HTTP compression (gzip, deflate, etc.).
istio.injection.enabledboolfalseWhether to enable sidecar injection or not.
istio.virtualServices.destinationPortint80The virtual service destination port
javaOpts.debug.gcLogs.enabledboolfalseEnables Java Garbage Collector logging
javaOpts.debug.heapdump.customobject{}The definition of a custom volume excluding its name which shall be used instead of a hostpath volume.
javaOpts.debug.heapdump.enabledboolfalseEnables Java Heap Dump creation in OOM situations
javaOpts.debug.heapdump.hostPath.dirstring"/mnt/appsuite-heap-dumps"hostPath directory on the k8s worker nodes, which needs to be created manually by the k8s admin. The directory will be mounted inside the core-mw container as '/heapdump'.
javaOpts.memory.maxHeapSizestring"2048M"
javaOpts.networkstring""
javaOpts.otherstring""
javaOpts.serverstring""
jolokiaLoginstring""User used for authentication with HTTP Basic Authentication.
jolokiaPasswordstring""Password used for authentification with HTTP Basic Authentication.
masterAdminstring""The name of the master admin.
masterPasswordstring""The password of the master admin.
metaobject{}Meta
mysql.auth.passwordstring""The database password. (read/write connection)
mysql.auth.readPasswordstring""The database password. (read connection)
mysql.auth.readUserstring""The database user name. (read connection)
mysql.auth.rootPasswordstring""The MySQL root password.
mysql.auth.userstring""The database user name. (read/write connection)
mysql.auth.writePasswordstring""The database password. (write connection)
mysql.auth.writeUserstring""The database user name. (write connection)
mysql.databasestring""The database/schema name. (read/write connection)
mysql.existingSecretstring""Name of an existing secret.
mysql.hoststring""The database host. (read/write connection)
mysql.portstring""The database port. (read/write connection)
mysql.readDatabasestring""The database/schema name. (read connection)
mysql.readHoststring""The database host. (read connection)
mysql.readPortstring""The database port. (read connection)
mysql.writeDatabasestring""The database/schema name. (write connection)
mysql.writeHoststring""The database host. (write connection)
mysql.writePortstring""The database port. (write connection)
nameOverridestring""Partially override of the ox-common.names.fullname template
NOTE: Preserves the release name.
nodeSelectorobject{}Tolerations for pod assignment
packagesobject{"status":{"open-xchange-admin-autocontextid":"disabled","open-xchange-authentication-imap":"disabled","open-xchange-authentication-ldap":"disabled","open-xchange-authentication-masterpassword":"disabled","open-xchange-authentication-oauth":"disabled","open-xchange-cassandra":"disabled","open-xchange-dataretention-csv":"disabled","open-xchange-drive-client-windows":"disabled","open-xchange-eas-provisioning":"disabled","open-xchange-eas-provisioning-mail":"disabled","open-xchange-eas-provisioning-sms":"disabled","open-xchange-hostname-config-cascade":"disabled","open-xchange-hostname-ldap":"disabled","open-xchange-multifactor":"disabled","open-xchange-parallels":"disabled","open-xchange-passwordchange-script":"disabled","open-xchange-saml-core":"disabled","open-xchange-sms-sipgate":"disabled","open-xchange-sms-twilio":"disabled","open-xchange-spamhandler-parallels":"disabled","open-xchange-sso":"disabled"},"whitelist":[]}Packages By default, all packages will be enabled. If a package is defined within a feature and that feature is disabled, the package will not be started UNLESS it is explicitly reactivated in this section. All disabled packages will be written into the environment variable OX_BLACKLISTED_PACKAGES.
packages.statusobjectsee values.yamlChoose whether to enable or disable packages.
packages.whitelistlist[]Whitelist The whitelist stands in contrast to the blacklist approach. Packages listed here are added to the OX_WHITELISTED_PACKAGES variable. This variable takes precedence over OX_BLACKLISTED_PACKAGES, causing the blacklist to be ignored.
podAnnotationsobject{"logging.open-xchange.com/format":"appsuite-json"}Annotations to add to the pod
podSecurityContextobject{}The pod security context
probe.liveness.enabledbooltrueEnable the liveness probe
probe.liveness.failureThresholdint15The liveness probe failure threshold
probe.liveness.httpGetobject{"path":"/live","port":8016,"scheme":"HTTP"}Specifies the HTTP request to perform
probe.liveness.httpGet.pathstring"/live"Path to access on the HTTP server
probe.liveness.httpGet.portint8016Name or number of the port to access on the container. Number must be in the range 1 to 65535.
probe.liveness.httpGet.schemestring"HTTP"Scheme to use for connecting to the host (HTTP or HTTPS). Defaults to "HTTP".
probe.liveness.periodSecondsint10The liveness probe period (in seconds)
probe.readiness.enabledbooltrueEnable the readiness probe
probe.readiness.failureThresholdint2The readiness probe failure threshold
probe.readiness.httpGetobject{"path":"/ready","port":8009,"scheme":"HTTP"}Specifies the HTTP request to perform
probe.readiness.httpGet.pathstring"/ready"Path to access on the HTTP server
probe.readiness.httpGet.portint8009Name or number of the port to access on the container. Number must be in the range 1 to 65535.
probe.readiness.httpGet.schemestring"HTTP"Scheme to use for connecting to the host (HTTP or HTTPS). Defaults to "HTTP".
probe.readiness.initialDelaySecondsint30The readiness probe initial delay (in seconds)
probe.readiness.periodSecondsint5The readiness probe period (in seconds)
probe.readiness.timeoutSecondsint5The readiness probe timeout (in seconds)
probe.startup.enabledbooltrueEnable the startup probe
probe.startup.failureThresholdint30The startup probe failure threshold
probe.startup.httpGetobject{"path":"/health","port":8009,"scheme":"HTTP"}Specifies the HTTP request to perform
probe.startup.httpGet.pathstring"/health"Path to access on the HTTP server
probe.startup.httpGet.portint8009Name or number of the port to access on the container. Number must be in the range 1 to 65535.
probe.startup.httpGet.schemestring"HTTP"Scheme to use for connecting to the host (HTTP or HTTPS). Defaults to "HTTP".
probe.startup.initialDelaySecondsint30The startup probe initial delay (in seconds)
probe.startup.periodSecondsint10The startup probe period (in seconds)
probeHeaderslist[]
propertiesobjectsee values.yamlProperties
propertiesFilesobject{}Properties files
rbac.createbooltrueWhether Role-Based Access Control (RBAC) resources should be created
rbac.ruleslist[]Custom RBAC rules
redis.affinityobject{}Affinity for pod assignment
redis.auth.passwordstring""The Redis password.
redis.auth.usernamestring""The Redis username.
redis.cacheobject{"auth":{"password":"","username":""},"enabled":false,"hosts":[],"mode":"","sentinelMasterId":"","tls":{"enabled":false}}Configuration for a separate cache for volatile data.
redis.cache.auth.passwordstring""The Redis password.
redis.cache.auth.usernamestring""The Redis username.
redis.cache.enabledboolfalseWhether a separate cache for volatile data is enabled or not, which is highly recommended in production.
redis.cache.hostslist[]List of Redis hosts:
Example for redis: [ <redis_host>:<redis_port> ]
Example for redis+sentinel: [ <sentinel1_host>:<sentinel1_port>,<sentinel2_host>:<sentinel2_port>,<sentinel3_host>:<sentinel3_port> ]
> Note: If hosts is empty or null, then an internal redis-standalone instance will be deployed.
redis.cache.modestring""Redis operation mode (standalone, cluster, sentinel).
redis.cache.sentinelMasterIdstring""Name of the sentinel masterSet, if operation mode is set to sentinel.
redis.cache.tlsobject{"enabled":false}Redis TLS configuration.
redis.cache.tls.enabledboolfalseWhether to use TLS to connect to Redis end-point or not.
redis.extraEnvVarslist[]List of extra environment variables
redis.hostslist[]List of Redis hosts:
Example for redis: [ <redis_host>:<redis_port> ]
Example for redis+sentinel: [ <sentinel1_host>:<sentinel1_port>,<sentinel2_host>:<sentinel2_port>,<sentinel3_host>:<sentinel3_port> ]
> Note: If hosts is empty or null, then an internal redis-standalone instance will be deployed.
redis.image.repositorystring"redis"Redis image repository
redis.image.tagstring"7-alpine"Redis image tag
redis.modestring""Redis operation mode (standalone, cluster, sentinel)
redis.nodeSelectorobject{}Node labels for pod assignment
redis.sentinelMasterIdstring""Name of the sentinel masterSet, if operation mode is set to sentinel.
redis.tlsobject{"enabled":false}Redis TLS configuration.
redis.tls.enabledboolfalseWhether to use TLS to connect to Redis end-point or not.
redis.tolerationslist[]Tolerations for pod assignment
remoteDebug.enabledboolfalseWhether Java Remote Debugging is enabled.
remoteDebug.nodePortstringnilThe node port (default range: 30000-32767)
remoteDebug.portint8102The Java Remote Debug port.
replicasint1Number of nodes
resourcesobject{"limits":{"memory":"4096Mi"},"requests":{"cpu":"1000m","memory":"4096Mi"}}CPU/Memory resource requests/limits
restricted.drive.enabledbooltrueIf enabled tries to mount drive restricted configuration
restricted.mobileApiFacade.enabledbooltrueIf enabled tries to mount mobile api facade configuration
roles.admin.services[0].ports[0].namestring"http"
roles.admin.services[0].ports[0].portint80
roles.admin.services[0].ports[0].protocolstring"TCP"
roles.admin.services[0].ports[0].targetPortstring"http"
roles.admin.services[0].typestring"ClusterIP"
roles.businessmobility.services[0].ports[0].namestring"http"
roles.businessmobility.services[0].ports[0].portint80
roles.businessmobility.services[0].ports[0].protocolstring"TCP"
roles.businessmobility.services[0].ports[0].targetPortstring"http"
roles.businessmobility.services[0].typestring"ClusterIP"
roles.businessmobility.values.features.status.usm-easstring"enabled"
roles.businessmobility.values.properties."com.openexchange.usm.ox.url"string"http://localhost:8009/appsuite/api/"
roles.documents.controllerstring"StatefulSet"
roles.documents.services[0].headlessbooltrue
roles.documents.services[0].namestring"hazelcast-headless"
roles.documents.services[0].ports[0].namestring"tcp-hazelcast"
roles.documents.services[0].ports[0].portint5701
roles.documents.statefulSetServiceNamestring"hazelcast-headless"
roles.documents.values.features.status.documentsstring"enabled"
roles.http-api.services[0].ports[0].namestring"http"
roles.http-api.services[0].ports[0].portint80
roles.http-api.services[0].ports[0].protocolstring"TCP"
roles.http-api.services[0].ports[0].targetPortstring"http"
roles.http-api.services[0].typestring"ClusterIP"
roles.request-analyzer.services[0].ports[0].namestring"http"
roles.request-analyzer.services[0].ports[0].portint80
roles.request-analyzer.services[0].ports[0].protocolstring"TCP"
roles.request-analyzer.services[0].ports[0].targetPortstring"http"
roles.request-analyzer.services[0].typestring"ClusterIP"
roles.sync.services[0].ports[0].namestring"http"
roles.sync.services[0].ports[0].portint80
roles.sync.services[0].ports[0].protocolstring"TCP"
roles.sync.services[0].ports[0].targetPortstring"http"
roles.sync.services[0].typestring"ClusterIP"
secretContextSetsobject{}Secret Context sets
secretETCBinarieslist[]Secret etc files
secretETCFilesobject{}Secret etc files
secretPropertiesobject{}Secret properties
secretPropertiesFilesobject{}Secret properties files
secretUISettingsobject{}Secret UI settings
secretUISettingsFilesobject{}Secret UI settings files
secretYAMLFilesobject{}Secret YAML files
securityContextobject{"allowPrivilegeEscalation":false}The security context
serverNamestring"server"The server name.
serviceAccount.annotationsobject{}Annotations to add to the service account
serviceAccount.createbooltrueWhether a service account should be created
serviceAccount.namestring""The name of the service account to use. If not set and create is true, a name is generated using the fullname template
terminationGracePeriodSecondsint120Duration in seconds the pod waits to terminate gracefully.
tolerationslist[]Tolerations for pod assignment
uiSettingsobject{}UI settings
uiSettingsFilesobject{}UI settings files
update.enabledboolfalseWhether an update task job for the specified database schemata is created or not
update.jobobject{"ttlSecondsAfterFinished":86400}Job object settings
update.job.ttlSecondsAfterFinishedint86400The number of seconds after which a job is deleted automatically
update.schematastring""Database schemata to update. If empty, all schemata will be updated.
update.typeslist[]Filter for which types the update tasks are triggered. Every type with an unique bundle set will create a container in the update job. All containers (except one) are configured as init containers to ensure they run sequentially.
update.valuesobject{}Override type sepcific update values
useLegacyBashScriptsbooltrueWhether to use the old bash style init scripts. This is necessary if you want to use bash style hooks instead of go binaries.
yamlFilesobject{}YAML files
ImageConverter
SpellCheck