Created
March 1, 2023 08:39
-
-
Save berndruecker/09e486e8fad97631ba159f8956c80b37 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Values for Camunda Platform helm on OpenShift. | |
# Merged from default values and OpenShift specific ones. | |
# Also contains some specifics for the installation system, like web endpoints | |
# This is a YAML-formatted file. | |
# The values file follows helm best practices https://helm.sh/docs/chart_best_practices/values/ | |
# | |
# This means: | |
# * Variable names should begin with a lowercase letter, and words should be separated with camelcase. | |
# * Every defined property in values.yaml should be documented. The documentation string should begin with the name of the property that it describes, and then give at least a one-sentence description | |
# | |
# Furthermore, we try to apply the following pattern: # [VarName] [conjunction] [definition] | |
# | |
# VarName: | |
# | |
# * In the documentation the variable name is started with a big letter, similar to kubernetes resource documentation. | |
# * If the variable is part of a subsection/object we use a json path expression (to make it more clear where the variable belongs to). | |
# The root (chart name) is omitted (e.g. zeebe). This is useful for using --set in helm. | |
# | |
# Conjunction: | |
# * [defines] for mandatory configuration | |
# * [can be used] for optional configuration | |
# * [if true] for toggles | |
# * [configuration] for section/group of variables | |
# Global configuration for variables which can be accessed by all sub charts | |
global: | |
# Annotations can be used to define common annotations, which should be applied to all deployments | |
annotations: {} | |
# Labels can be used to define common labels, which should be applied to all deployments | |
labels: | |
app: camunda-platform | |
# Image configuration to be used in each sub chart | |
image: | |
# Image.registry can be used to set container image registry. | |
registry: "" | |
# Image.tag defines the tag / version which should be used in the chart | |
# Don't change the comment after the value, it's needed due to a bug yq. Check Makefile for more details. | |
tag: 8.1.6 # global.image.tag | |
# Image.pullPolicy defines the image pull policy which should be used https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy | |
pullPolicy: IfNotPresent | |
# Image.pullSecrets can be used to configure image pull secrets https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod | |
pullSecrets: [] | |
# Ingress configuration to configure the ingress resource | |
ingress: | |
# Ingress.enabled if true, an ingress resource is deployed. Only useful if an ingress controller is available, like Ingress-NGINX. | |
enabled: true | |
# Ingress.className defines the class or configuration of ingress which should be used by the controller | |
className: nginx | |
# Ingress.annotations defines the ingress related annotations, consumed mostly by the ingress controller | |
annotations: | |
ingress.kubernetes.io/rewrite-target: "/" | |
nginx.ingress.kubernetes.io/ssl-redirect: "false" | |
# Ingress.host can be used to define the host of the ingress rule. https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules | |
# If not specified the rules applies to all inbound http traffic, if specified the rule applies to that host. | |
host: "" | |
# Ingress.tls configuration for tls on the ingress resource https://kubernetes.io/docs/concepts/services-networking/ingress/#tls | |
tls: | |
# Ingress.tls.enabled if true, then tls is configured on the ingress resource. If enabled the Ingress.host need to be defined. | |
enabled: false | |
# Ingress.tls.secretName defines the secret name which contains the TLS private key and certificate | |
secretName: "" | |
# Elasticsearch configuration which is shared between the sub charts | |
elasticsearch: | |
# Elasticsearch.disableExporter if true, disables the elastic exporter in zeebe | |
disableExporter: false | |
# Elasticsearch.url can be used to configure the URL to access elasticsearch, if not set services fallback to host and port configuration | |
url: | |
# Elasticsearch.protocol defines the elasticsearch access protocol, by default HTTP. | |
protocol: http | |
# Elasticsearch.host defines the elasticsearch host, ideally the service name inside the namespace | |
host: "elasticsearch-master" | |
# Elasticsearch.port defines the elasticsearch port, under which elasticsearch can be accessed | |
port: 9200 | |
# Elasticsearch.clusterName defines the cluster name which is used by Elasticsearch | |
clusterName: "elasticsearch" | |
# Elasticsearch.prefix defines the prefix which is used by the Zeebe Elasticsearch Exporter to create Elasticsearch indexes | |
prefix: zeebe-record | |
# ZeebeClusterName defines the cluster name for the Zeebe cluster. All Zeebe pods get this prefix in their name and the brokers uses that as cluster name. | |
zeebeClusterName: "{{ .Release.Name }}-zeebe" | |
# ZeebePort defines the port which is used for the Zeebe Gateway. This port accepts the GRPC Client messages and forwards them to the Zeebe Brokers. | |
zeebePort: 26500 | |
# Identity configuration to configure identity specifics on global level, which can be accessed by other sub-charts | |
identity: | |
# Identity.fullnameOverride can be used to override the full name of the identity resources | |
fullnameOverride: "" | |
# Identity.nameOverride can be used to partly override the name of the identity resources (names will still be prefixed with the release name) | |
nameOverride: "" | |
keycloak: | |
# Identity.keycloak.legacy if true, it will configure Keycloak service name according to Keycloak v16. | |
# If false, then it will configure Keycloak service name according to Keycloak v19. This config is used | |
# when Keycloak v19 Helm chart is used. Note: This is just for config, it will not enable Keycloak v19). | |
legacy: true | |
# Identity.keycloak.internal if true, it will configure an extra service with type "ExternalName". | |
# It's useful for using existing Keycloak in another namespace with and access it with the combined Ingress. | |
internal: false | |
# Identity.keycloak.url can be used incorporate with "identity.keycloak.enabled: false" to use your own Keycloak instead of the one comes with Camunda Platform Helm chart. | |
url: {} | |
# Example to produce the following URL "https://keycloak.prod.svc.cluster.local:8443": | |
# url: | |
# protocol: "https" | |
# host: "keycloak.prod.svc.cluster.local" | |
# port: "8443" | |
# Identity.keycloak.contextPath defines the endpoint of Keycloak which varies between Keycloak versions. | |
# In Keycloak v16.x.x it's hard-coded as '/auth', but in v19.x.x it's '/'. | |
contextPath: "/auth" | |
# Identity.keycloak.realm defines Keycloak realm path used for Camunda Platform. | |
realm: "/realms/camunda-platform" | |
# Identity.keycloak.auth same as "identity.keycloak.auth" but it's used for existing Keycloak. | |
auth: {} | |
# Identity.keycloak.auth.adminUser can be used to configure admin user to access existing Keycloak. | |
# adminUser: "" | |
# Identity.keycloak.auth.existingSecret can be used to configure existing Secret object which has admin password | |
# to access existing Keycloak. | |
# existingSecret: "" | |
# Identity.keycloak.auth.existingSecretKey can be used to configure the key inside existing Secret object | |
# which has admin password to access existing Keycloak. | |
# existingSecretKey: "admin-password" | |
# Identity.auth configuration, to configure Identity authentication setup | |
auth: | |
# Identity.auth.enabled if true, enables the Identity authentication otherwise basic-auth will be used on all services. | |
enabled: true | |
# Identity.auth.publicIssuerUrl defines the token issuer (Keycloak) URL, where the services can request JWT tokens. | |
# Should be publicly accessible, per default we assume a port-forward to Keycloak (18080) is created before login. | |
# Can be overwritten if ingress is in use and an external IP is available. | |
publicIssuerUrl: "http://auth.apps.openshift-c8.1dms.p1.openshiftapps.com/auth/realms/camunda-platform" | |
# Identity.auth.operate configuration to configure Operate authentication specifics on global level, which can be accessed by other sub-charts | |
operate: | |
# Identity.auth.operate.existingSecret can be used to reference an existing secret. If not set, a random secret is generated. | |
# The existing secret should contain an `operate-secret` field, which will be used as secret for the Identity-Operate communication. | |
existingSecret: | |
# Identity.auth.operate.redirectUrl defines the redirect URL, which is used by Keycloak to access Operate. | |
# Should be publicly accessible, the default value works if a port-forward to Operate is created to 8081. | |
# Can be overwritten if ingress is in use and an external IP is available. | |
redirectUrl: "http://operate.apps.openshift-c8.1dms.p1.openshiftapps.com" | |
# Identity.auth.tasklist configuration to configure Tasklist authentication specifics on global level, which can be accessed by other sub-charts | |
tasklist: | |
# Identity.auth.tasklist.existingSecret can be used to use an own existing secret. If not set a random secret is generated. | |
# The existing secret should contain an `tasklist-secret` field, which will be used as secret for the Identity-Tasklist communication. | |
existingSecret: | |
# Identity.auth.tasklist.redirectUrl defines the root (or redirect) URL, which is used by Keycloak to access Tasklist. | |
# Should be publicly accessible, the default value works if a port-forward to Tasklist is created to 8082. | |
# Can be overwritten if ingress is in use and an external IP is available. | |
redirectUrl: "http://tasklist.apps.openshift-c8.1dms.p1.openshiftapps.com" | |
# Identity.auth.optimize configuration to configure Optimize authentication specifics on global level, which can be accessed by other sub-charts | |
optimize: | |
# Identity.auth.optimize.existingSecret can be used to use an own existing secret. If not set a random secret is generated. | |
# The existing secret should contain an `optimize-secret` field, which will be used as secret for the Identity-Optimize communication. | |
existingSecret: | |
# Identity.auth.optimize.redirectUrl defines the root (or redirect) URL, which is used by Keycloak to access Optimize. | |
# Should be publicly accessible, the default value works if a port-forward to Optimize is created to 8083. | |
# Can be overwritten if ingress is in use and an external IP is available. | |
redirectUrl: "http://optimize.apps.openshift-c8.1dms.p1.openshiftapps.com" | |
# Identity.auth.webModeler configuration to configure Web Modeler authentication specifics on global level, which can be accessed by other sub-charts | |
webModeler: | |
# Identity.auth.webModeler.redirectUrl defines the root URL which is used by Keycloak to access Web Modeler. | |
# Should be publicly accessible, the default value works if a port-forward to Web Modeler is created to 8084. | |
# Can be overwritten if ingress is in use and an external IP is available. | |
redirectUrl: "http://webmodeler.apps.openshift-c8.1dms.p1.openshiftapps.com" | |
# Zeebe configuration for the Zeebe sub chart. Contains configuration for the Zeebe broker and related resources. | |
zeebe: | |
# Enabled if true, all zeebe related resources are deployed via the helm release | |
enabled: true | |
# Image configuration to configure the zeebe image specifics | |
image: | |
# Image.registry can be used to set container image registry. | |
registry: "" | |
# Image.repository defines which image repository to use | |
repository: camunda/zeebe | |
# Image.tag can be set to overwrite the global tag, which should be used in that chart | |
tag: | |
# Image.pullSecrets can be used to configure image pull secrets https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod | |
pullSecrets: [] | |
# ClusterSize defines the amount of brokers (=replicas), which are deployed via helm | |
clusterSize: "3" | |
# PartitionCount defines how many zeebe partitions are set up in the cluster | |
partitionCount: "3" | |
# ReplicationFactor defines how each partition is replicated, the value defines the number of nodes | |
replicationFactor: "3" | |
# Env can be used to set extra environment variables in each zeebe broker container | |
env: | |
- name: ZEEBE_BROKER_DATA_SNAPSHOTPERIOD | |
value: "5m" | |
- name: ZEEBE_BROKER_DATA_DISKUSAGECOMMANDWATERMARK | |
value: "0.85" | |
- name: ZEEBE_BROKER_DATA_DISKUSAGEREPLICATIONWATERMARK | |
value: "0.87" | |
# ConfigMap configuration which will be applied to the mounted config map. | |
configMap: | |
defaultMode: 0555 | |
# See https://github.com/kubernetes/api/blob/master/core/v1/types.go#L1615-L1623 | |
# Command can be used to override the default command provided by the container image. See https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/ | |
command: [] | |
# LogLevel defines the log level which is used by the zeebe brokers | |
logLevel: info | |
# Log4j2 can be used to overwrite the log4j2 configuration of the zeebe brokers | |
log4j2: '' | |
# JavaOpts can be used to set java options for the zeebe brokers | |
javaOpts: >- | |
-XX:+HeapDumpOnOutOfMemoryError | |
-XX:HeapDumpPath=/usr/local/zeebe/data | |
-XX:ErrorFile=/usr/local/zeebe/data/zeebe_error%p.log | |
-XX:+ExitOnOutOfMemoryError | |
# Service configuration for the broker service | |
service: | |
# Service.type defines the type of the service https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types | |
type: ClusterIP | |
# Service.httpPort defines the port of the http endpoint, where for example metrics are provided | |
httpPort: 9600 | |
# Service.httpName defines the name of the http endpoint, where for example metrics are provided | |
httpName: "http" | |
# Service.commandPort defines the port of the command api endpoint, where the broker commands are sent to | |
commandPort: 26501 | |
# Service.commandName defines the name of the command api endpoint, where the broker commands are sent to | |
commandName: "command" | |
# Service.internalPort defines the port of the internal api endpoint, which is used for internal communication | |
internalPort: 26502 | |
# Service.internalName defines the name of the internal api endpoint, which is used for internal communication | |
internalName: "internal" | |
# extraPorts can be used to expose any other ports which are required. Can be useful for exporters | |
extraPorts: [] | |
# - name: hazelcast | |
# protocol: TCP | |
# port: 5701 | |
# targetPort: 5701 | |
# ServiceAccount configuration for the service account where the broker pods are assigned to | |
serviceAccount: | |
# ServiceAccount.enabled if true, enables the broker service account | |
enabled: true | |
# ServiceAccount.name can be used to set the name of the broker service account | |
name: "" | |
# ServiceAccount.annotations can be used to set the annotations of the broker service account | |
annotations: {} | |
# CpuThreadCount defines how many threads can be used for the processing on each broker pod | |
cpuThreadCount: "3" | |
# IoThreadCount defines how many threads can be used for the exporting on each broker pod | |
ioThreadCount: "3" | |
# Resources configuration to set request and limit configuration for the container https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits | |
resources: | |
requests: | |
cpu: 800m | |
memory: 1200Mi | |
limits: | |
cpu: 960m | |
memory: 1920Mi | |
# PersistenceType defines the type of persistence which is used by Zeebe. Possible values are: disk, local and memory. | |
# disk - means a persistence volume claim is configured and used | |
# local - means the data is stored into the container, no volumeMount nor volume nor claim is configured | |
# memory - means zeebe uses a tmpfs for the data persistence, be aware that this takes the limits into account | |
persistenceType: disk | |
# PvcSize defines the persistent volume claim size, which is used by each broker pod https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims | |
pvcSize: "32Gi" | |
# PvcAccessModes can be used to configure the persistent volume claim access mode https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes | |
pvcAccessModes: ["ReadWriteOnce"] | |
# PvcStorageClassName can be used to set the storage class name which should be used by the persistent volume claim. It is recommended to use a storage class, which is backed with a SSD. | |
pvcStorageClassName: '' | |
# ExtraVolumes can be used to define extra volumes for the broker pods, useful for additional exporters | |
extraVolumes: [] | |
# ExtraVolumeMounts can be used to mount extra volumes for the broker pods, useful for additional exporters | |
extraVolumeMounts: [] | |
# ExtraInitContainers can be used to set up extra init containers for the broker pods, useful for additional exporters | |
extraInitContainers: [] | |
# PodAnnotations can be used to define extra broker pod annotations | |
podAnnotations: {} | |
# PodLabels can be used to define extra broker pod labels | |
podLabels: {} | |
# PodDisruptionBudget configuration to configure a pod disruption budget for the broker pods https://kubernetes.io/docs/tasks/run-application/configure-pdb/ | |
podDisruptionBudget: | |
# PodDisruptionBudget.enabled if true a pod disruption budget is defined for the brokers | |
enabled: false | |
# PodDisruptionBudget.minAvailable can be used to set how many pods should be available. Be aware that if minAvailable is set, maxUnavailable will not be set (they are mutually exclusive). | |
minAvailable: | |
# podDisruptionBudget.maxUnavailable can be used to set how many pods should be at max. unavailable | |
maxUnavailable: 1 | |
# PodSecurityContext defines the security options the Zeebe broker pod should be run with | |
podSecurityContext: {} | |
# ContainerSecurityContext defines the security options the Zeebe broker container should be run with | |
containerSecurityContext: {} | |
# StartupProbe configuration | |
startupProbe: | |
# StartupProbe.enabled if true, the startup probe is enabled in app container | |
enabled: false | |
# StartupProbe.probePath defines the startup probe route used on the app | |
probePath: /ready | |
# StartupProbe.initialDelaySeconds defines the number of seconds after the container has started before | |
# the probe is initiated. | |
initialDelaySeconds: 30 | |
# StartupProbe.periodSeconds defines how often the probe is executed | |
periodSeconds: 30 | |
# StartupProbe.successThreshold defines how often it needs to be true to be marked as ready, after failure | |
successThreshold: 1 | |
# StartupProbe.failureThreshold defines when the probe is considered as failed so the Pod will be marked Unready | |
failureThreshold: 5 | |
# StartupProbe.timeoutSeconds defines the seconds after the probe times out | |
timeoutSeconds: 1 | |
# ReadinessProbe configuration | |
readinessProbe: | |
# ReadinessProbe.enabled if true, the readiness probe is enabled in app container | |
enabled: true | |
# ReadinessProbe.probePath defines the readiness probe route used on the app | |
probePath: /ready | |
# ReadinessProbe.initialDelaySeconds defines the number of seconds after the container has started before | |
# the probe is initiated. | |
initialDelaySeconds: 30 | |
# ReadinessProbe.periodSeconds defines how often the probe is executed | |
periodSeconds: 30 | |
# ReadinessProbe.successThreshold defines how often it needs to be true to be marked as ready, after failure | |
successThreshold: 1 | |
# ReadinessProbe.failureThreshold defines when the probe is considered as failed so the Pod will be marked Unready | |
failureThreshold: 5 | |
# ReadinessProbe.timeoutSeconds defines the seconds after the probe times out | |
timeoutSeconds: 1 | |
# LivenessProbe configuration | |
livenessProbe: | |
# LivenessProbe.enabled if true, the liveness probe is enabled in app container | |
enabled: false | |
# LivenessProbe.probePath defines the liveness probe route used on the app | |
probePath: /health | |
# LivenessProbe.initialDelaySeconds defines the number of seconds after the container has started before | |
# the probe is initiated. | |
initialDelaySeconds: 30 | |
# LivenessProbe.periodSeconds defines how often the probe is executed | |
periodSeconds: 30 | |
# LivenessProbe.successThreshold defines how often it needs to be true to be considered successful after having failed | |
successThreshold: 1 | |
# LivenessProbe.failureThreshold defines when the probe is considered as failed so the container will be restarted | |
failureThreshold: 5 | |
# LivenessProbe.timeoutSeconds defines the seconds after the probe times out | |
timeoutSeconds: 1 | |
# NodeSelector can be used to define on which nodes the broker pods should run | |
nodeSelector: {} | |
# Tolerations can be used to define pod toleration's https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/ | |
tolerations: [] | |
# Affinity can be used to define pod affinity or anti-affinity https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity | |
# The default defined PodAntiAffinity allows constraining on which nodes the Zeebe pods are scheduled on https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity | |
# It uses a hard requirement for scheduling and works based on the Zeebe pod labels | |
affinity: | |
podAntiAffinity: | |
requiredDuringSchedulingIgnoredDuringExecution: | |
- labelSelector: | |
matchExpressions: | |
- key: "app.kubernetes.io/component" | |
operator: In | |
values: | |
- zeebe-broker | |
topologyKey: "kubernetes.io/hostname" | |
# PriorityClassName can be used to define the broker pods priority https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/#priorityclass | |
priorityClassName: "" | |
# Gateway configuration to define properties related to the standalone gateway | |
zeebe-gateway: | |
# Replicas defines how many standalone gateways are deployed | |
replicas: 2 | |
# Image configuration to configure the zeebe-gateway image specifics | |
image: | |
# Image.registry can be used to set container image registry. | |
registry: "" | |
# Image.repository defines which image repository to use | |
repository: camunda/zeebe | |
# Image.tag can be set to overwrite the global tag, which should be used in that chart | |
tag: | |
# Image.pullSecrets can be used to configure image pull secrets https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod | |
pullSecrets: [] | |
# PodAnnotations can be used to define extra gateway pod annotations | |
podAnnotations: {} | |
# PodLabels can be used to define extra gateway pod labels | |
podLabels: {} | |
# LogLevel defines the log level which is used by the gateway | |
logLevel: info | |
# Log4j2 can be used to overwrite the log4j2 configuration of the gateway | |
log4j2: '' | |
# JavaOpts can be used to set java options for the zeebe gateways | |
javaOpts: >- | |
-XX:+ExitOnOutOfMemoryError | |
# Env can be used to set extra environment variables in each gateway container | |
env: | |
- name: ZEEBE_GATEWAY_SECURITY_ENABLED | |
value: 'true' | |
- name: ZEEBE_GATEWAY_SECURITY_CERTIFICATECHAINPATH | |
value: /usr/local/zeebe/config/tls.crt | |
- name: ZEEBE_GATEWAY_SECURITY_PRIVATEKEYPATH | |
value: /usr/local/zeebe/config/tls.key | |
extraVolumeMounts: | |
- name: certificate | |
mountPath: /usr/local/zeebe/config/tls.crt | |
subPath: tls.crt | |
- name: key | |
mountPath: /usr/local/zeebe/config/tls.key | |
subPath: tls.key | |
extraVolumes: | |
- name: certificate | |
secret: | |
secretName: tls-certificate | |
items: | |
- key: tls.crt | |
path: tls.crt | |
defaultMode: 420 | |
- name: key | |
secret: | |
secretName: tls-certificate | |
items: | |
- key: tls.key | |
path: tls.key | |
defaultMode: 420 | |
# ConfigMap configuration which will be applied to the mounted config map. | |
configMap: | |
defaultMode: 0444 | |
# See https://github.com/kubernetes/api/blob/master/core/v1/types.go#L1615-L1623 | |
# Command can be used to override the default command provided by the container image. See https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/ | |
command: [] | |
# PodDisruptionBudget configuration to configure a pod disruption budget for the gateway pods https://kubernetes.io/docs/tasks/run-application/configure-pdb/ | |
podDisruptionBudget: | |
# PodDisruptionBudget.enabled if true a pod disruption budget is defined for the gateways | |
enabled: false | |
# PodDisruptionBudget.minAvailable can be used to set how many pods should be available. Be aware that if minAvailable is set, maxUnavailable will not be set (they are mutually exclusive). | |
minAvailable: 1 | |
# PodDisruptionBudget.maxUnavailable can be used to set how many pods should be at max. unavailable | |
maxUnavailable: | |
# Resources configuration to set request and limit configuration for the container https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits | |
resources: | |
requests: | |
cpu: 400m | |
memory: 450Mi | |
limits: | |
cpu: 400m | |
memory: 450Mi | |
# PriorityClassName can be used to define the gateway pods priority https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/#priorityclass | |
priorityClassName: "" | |
# PodSecurityContext defines the security options the gateway pod should be run with | |
podSecurityContext: {} | |
# ContainerSecurityContext defines the security options the gateway container should be run with | |
containerSecurityContext: {} | |
# StartupProbe configuration | |
startupProbe: | |
# StartupProbe.enabled if true, the startup probe is enabled in app container | |
enabled: false | |
# StartupProbe.probePath defines the startup probe route used on the app | |
probePath: /actuator/health/startup | |
# StartupProbe.initialDelaySeconds defines the number of seconds after the container has started before | |
# the probe is initiated. | |
initialDelaySeconds: 30 | |
# StartupProbe.periodSeconds defines how often the probe is executed | |
periodSeconds: 30 | |
# StartupProbe.successThreshold defines how often it needs to be true to be marked as ready, after failure | |
successThreshold: 1 | |
# StartupProbe.failureThreshold defines when the probe is considered as failed so the Pod will be marked Unready | |
failureThreshold: 5 | |
# StartupProbe.timeoutSeconds defines the seconds after the probe times out | |
timeoutSeconds: 1 | |
# ReadinessProbe configuration | |
readinessProbe: | |
# ReadinessProbe.enabled if true, the readiness probe is enabled in app container | |
enabled: false | |
# ReadinessProbe.probePath defines the readiness probe route used on the app | |
probePath: /actuator/health | |
# ReadinessProbe.initialDelaySeconds defines the number of seconds after the container has started before | |
# the probe is initiated. | |
initialDelaySeconds: 30 | |
# ReadinessProbe.periodSeconds defines how often the probe is executed | |
periodSeconds: 30 | |
# ReadinessProbe.successThreshold defines how often it needs to be true to be marked as ready, after failure | |
successThreshold: 1 | |
# ReadinessProbe.failureThreshold defines when the probe is considered as failed so the Pod will be marked Unready | |
failureThreshold: 5 | |
# ReadinessProbe.timeoutSeconds defines the seconds after the probe times out | |
timeoutSeconds: 1 | |
# LivenessProbe configuration | |
livenessProbe: | |
# LivenessProbe.enabled if true, the liveness probe is enabled in app container | |
enabled: false | |
# LivenessProbe.probePath defines the liveness probe route used on the app | |
probePath: /actuator/health/liveness | |
# LivenessProbe.initialDelaySeconds defines the number of seconds after the container has started before | |
# the probe is initiated. | |
initialDelaySeconds: 30 | |
# LivenessProbe.periodSeconds defines how often the probe is executed | |
periodSeconds: 30 | |
# LivenessProbe.successThreshold defines how often it needs to be true to be considered successful after having failed | |
successThreshold: 1 | |
# LivenessProbe.failureThreshold defines when the probe is considered as failed so the container will be restarted | |
failureThreshold: 5 | |
# LivenessProbe.timeoutSeconds defines the seconds after the probe times out | |
timeoutSeconds: 1 | |
# NodeSelector can be used to define on which nodes the gateway pods should run | |
nodeSelector: {} | |
# Tolerations can be used to define pod toleration's https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/ | |
tolerations: [] | |
# Affinity can be used to define pod affinity or anti-affinity https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity | |
# The default defined PodAntiAffinity allows constraining on which nodes the Zeebe gateway pods are scheduled on https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity | |
# It uses a hard requirement for scheduling and works based on the Zeebe gateway pod labels | |
affinity: | |
podAntiAffinity: | |
requiredDuringSchedulingIgnoredDuringExecution: | |
- labelSelector: | |
matchExpressions: | |
- key: "app.kubernetes.io/component" | |
operator: In | |
values: | |
- zeebe-gateway | |
topologyKey: "kubernetes.io/hostname" | |
# ExtraInitContainers can be used to set up extra init containers for the gateway pods, useful for adding interceptors | |
extraInitContainers: [] | |
# Service configuration for the gateway service | |
service: | |
# Service.type defines the type of the service https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types | |
type: ClusterIP | |
# Service.loadBalancerIP defines public ip of the load balancer if the type is LoadBalancer | |
loadBalancerIP: "" | |
# Service.loadBalancerSourceRanges defines list of allowed source ip address ranges if the type is LoadBalancer | |
loadBalancerSourceRanges: [] | |
# Service.httpPort defines the port of the http endpoint, where for example metrics are provided | |
httpPort: 9600 | |
# Service.httpName defines the name of the http endpoint, where for example metrics are provided | |
httpName: "http" | |
# Service.gatewayPort defines the port of the gateway endpoint, where client commands (grpc) are sent to | |
gatewayPort: 26500 | |
# Service.gatewayName defines the name of the gateway endpoint, where client commands (grpc) are sent to | |
gatewayName: "gateway" | |
# Service.internalPort defines the port of the internal api endpoint, which is used for internal communication | |
internalPort: 26502 | |
# Service.internalName defines the name of the internal api endpoint, which is used for internal communication | |
internalName: "internal" | |
# Service.annotations can be used to define annotations, which will be applied to the zeebe-gateway service | |
annotations: {} | |
# ServiceAccount configuration for the service account where the gateway pods are assigned to | |
serviceAccount: | |
# ServiceAccount.enabled if true, enables the gateway service account | |
enabled: true | |
# ServiceAccount.name can be used to set the name of the gateway service account | |
name: "" | |
# ServiceAccount.annotations can be used to set the annotations of the gateway service account | |
annotations: {} | |
# Ingress configuration to configure the ingress resource | |
ingress: | |
# Ingress.enabled if true, an ingress resource is deployed with the Zeebe gateway deployment. Only useful if an ingress controller is available, like nginx. | |
enabled: false | |
# Ingress.className defines the class or configuration of ingress which should be used by the controller | |
className: nginx | |
# Ingress.annotations defines the ingress related annotations, consumed mostly by the ingress controller | |
annotations: | |
ingress.kubernetes.io/rewrite-target: "/" | |
nginx.ingress.kubernetes.io/ssl-redirect: "false" | |
nginx.ingress.kubernetes.io/backend-protocol: "GRPC" | |
# Ingress.path defines the path which is associated with the operate service and port https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules | |
path: / | |
# Ingress.host can be used to define the host of the ingress rule. https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules | |
# If not specified the rules applies to all inbound http traffic, if specified the rule applies to that host. | |
host: "" | |
# Ingress.tls configuration for tls on the ingress resource https://kubernetes.io/docs/concepts/services-networking/ingress/#tls | |
tls: | |
# Ingress.tls.enabled if true, then tls is configured on the ingress resource. If enabled the Ingress.host need to be defined. | |
enabled: false | |
# Ingress.tls.secretName defines the secret name which contains the TLS private key and certificate | |
secretName: "" | |
# Operate configuration for the Operate sub chart. | |
operate: | |
# Enabled if true, the Operate deployment and its related resources are deployed via a helm release | |
enabled: true | |
# Image configuration to configure the Operate image specifics | |
image: | |
# Image.registry can be used to set container image registry. | |
registry: "" | |
# Image.repository defines which image repository to use | |
repository: camunda/operate | |
# Image.tag can be set to overwrite the global tag, which should be used in that chart | |
tag: | |
# Image.pullSecrets can be used to configure image pull secrets https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod | |
pullSecrets: [] | |
# ContextPath can be used to make Operate web application works on a custom sub-path. This is mainly used to run Camunda Platform web applications under a single domain. | |
# contextPath: "/operate" | |
# PodAnnotations can be used to define extra Operate pod annotations | |
podAnnotations: {} | |
# PodLabels can be used to define extra Operate pod labels | |
podLabels: {} | |
# Logging configuration for the Operate logging. This template will be directly included in the Operate configuration yaml file | |
logging: | |
level: | |
ROOT: INFO | |
io.camunda.operate: DEBUG | |
# Service configuration to configure the Operate service. | |
service: | |
# Service.type defines the type of the service https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types | |
type: ClusterIP | |
# Service.port defines the port of the service, where the Operate web application will be available | |
port: 80 | |
# Service.annotations can be used to define annotations, which will be applied to the Operate service | |
annotations: {} | |
# Resources configuration to set request and limit configuration for the container https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits | |
resources: | |
requests: | |
cpu: 600m | |
memory: 400Mi | |
limits: | |
cpu: 2000m | |
memory: 2Gi | |
# Env can be used to set extra environment variables in each Operate container | |
env: [] | |
# ConfigMap configuration which will be applied to the mounted config map. | |
configMap: | |
defaultMode: 0444 | |
# See https://github.com/kubernetes/api/blob/master/core/v1/types.go#L1615-L1623 | |
# Command can be used to override the default command provided by the container image. See https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/ | |
command: [] | |
# ExtraVolumes can be used to define extra volumes for the Operate pods, useful for tls and self-signed certificates | |
extraVolumes: [] | |
# ExtraVolumeMounts can be used to mount extra volumes for the Operate pods, useful for tls and self-signed certificates | |
extraVolumeMounts: [] | |
# ServiceAccount configuration for the service account where the Operate pods are assigned to | |
serviceAccount: | |
# ServiceAccount.enabled if true, enables the Operate service account | |
enabled: true | |
# ServiceAccount.name can be used to set the name of the Operate service account | |
name: "" | |
# ServiceAccount.annotations can be used to set the annotations of the Operate service account | |
annotations: {} | |
# Ingress configuration to configure the ingress resource | |
ingress: | |
# Ingress.enabled if true, an ingress resource is deployed with the Operate deployment. Only useful if an ingress controller is available, like nginx. | |
enabled: false | |
# Ingress.className defines the class or configuration of ingress which should be used by the controller | |
className: nginx | |
# Ingress.annotations defines the ingress related annotations, consumed mostly by the ingress controller | |
annotations: | |
ingress.kubernetes.io/rewrite-target: "/" | |
nginx.ingress.kubernetes.io/ssl-redirect: "false" | |
# Ingress.path defines the path which is associated with the Operate service and port https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules | |
path: / | |
# Ingress.host can be used to define the host of the ingress rule. https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules | |
# If not specified the rules applies to all inbound http traffic, if specified the rule applies to that host. | |
host: "" | |
# Ingress.tls configuration for tls on the ingress resource https://kubernetes.io/docs/concepts/services-networking/ingress/#tls | |
tls: | |
# Ingress.tls.enabled if true, then tls is configured on the ingress resource. If enabled the Ingress.host need to be defined. | |
enabled: false | |
# Ingress.tls.secretName defines the secret name which contains the TLS private key and certificate | |
secretName: "" | |
# PodSecurityContext defines the security options the Operate pod should be run with | |
podSecurityContext: {} | |
# ContainerSecurityContext defines the security options the Operate container should be run with | |
containerSecurityContext: {} | |
# StartupProbe configuration | |
startupProbe: | |
# StartupProbe.enabled if true, the startup probe is enabled in app container | |
enabled: false | |
# StartupProbe.probePath defines the startup probe route used on the app | |
probePath: /actuator/health/readiness | |
# StartupProbe.initialDelaySeconds defines the number of seconds after the container has started before | |
# the probe is initiated. | |
initialDelaySeconds: 30 | |
# StartupProbe.periodSeconds defines how often the probe is executed | |
periodSeconds: 30 | |
# StartupProbe.successThreshold defines how often it needs to be true to be marked as ready, after failure | |
successThreshold: 1 | |
# StartupProbe.failureThreshold defines when the probe is considered as failed so the Pod will be marked Unready | |
failureThreshold: 5 | |
# StartupProbe.timeoutSeconds defines the seconds after the probe times out | |
timeoutSeconds: 1 | |
# ReadinessProbe configuration | |
readinessProbe: | |
# ReadinessProbe.enabled if true, the readiness probe is enabled in app container | |
enabled: false | |
# ReadinessProbe.probePath defines the readiness probe route used on the app | |
probePath: /actuator/health/readiness | |
# ReadinessProbe.initialDelaySeconds defines the number of seconds after the container has started before | |
# the probe is initiated. | |
initialDelaySeconds: 30 | |
# ReadinessProbe.periodSeconds defines how often the probe is executed | |
periodSeconds: 30 | |
# ReadinessProbe.successThreshold defines how often it needs to be true to be marked as ready, after failure | |
successThreshold: 1 | |
# ReadinessProbe.failureThreshold defines when the probe is considered as failed so the Pod will be marked Unready | |
failureThreshold: 5 | |
# ReadinessProbe.timeoutSeconds defines the seconds after the probe times out | |
timeoutSeconds: 1 | |
# LivenessProbe configuration | |
livenessProbe: | |
# LivenessProbe.enabled if true, the liveness probe is enabled in app container | |
enabled: false | |
# LivenessProbe.probePath defines the liveness probe route used on the app | |
probePath: /actuator/health/liveness | |
# LivenessProbe.initialDelaySeconds defines the number of seconds after the container has started before | |
# the probe is initiated. | |
initialDelaySeconds: 30 | |
# LivenessProbe.periodSeconds defines how often the probe is executed | |
periodSeconds: 30 | |
# LivenessProbe.successThreshold defines how often it needs to be true to be considered successful after having failed | |
successThreshold: 1 | |
# LivenessProbe.failureThreshold defines when the probe is considered as failed so the container will be restarted | |
failureThreshold: 5 | |
# LivenessProbe.timeoutSeconds defines the seconds after the probe times out | |
timeoutSeconds: 1 | |
# NodeSelector can be used to define on which nodes the Operate pods should run | |
nodeSelector: {} | |
# Tolerations can be used to define pod toleration's https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/ | |
tolerations: [] | |
# Affinity can be used to define pod affinity or anti-affinity https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity | |
affinity: {} | |
# Tasklist configuration for the tasklist sub chart. | |
tasklist: | |
# Enabled if true, the tasklist deployment and its related resources are deployed via a helm release | |
enabled: true | |
# Image configuration to configure the tasklist image specifics | |
image: | |
# Image.registry can be used to set container image registry. | |
registry: "" | |
# Image.repository defines which image repository to use | |
repository: camunda/tasklist | |
# Image.tag can be set to overwrite the global tag, which should be used in that chart | |
tag: | |
# Image.pullSecrets can be used to configure image pull secrets https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod | |
pullSecrets: [] | |
# ContextPath can be used to make Tasklist web application works on a custom sub-path. This is mainly used to run Camunda Platform web applications under a single domain. | |
# contextPath: "/tasklist" | |
# Env can be used to set extra environment variables on each Tasklist container | |
env: [] | |
# PodAnnotations can be used to define extra Tasklist pod annotations | |
podAnnotations: {} | |
# PodLabels can be used to define extra tasklist pod labels | |
podLabels: {} | |
# ConfigMap configuration which will be applied to the mounted config map. | |
configMap: | |
defaultMode: 0444 | |
# See https://github.com/kubernetes/api/blob/master/core/v1/types.go#L1615-L1623 | |
# Command can be used to override the default command provided by the container image. See https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/ | |
command: [] | |
# Service configuration to configure the tasklist service. | |
service: | |
# Service.type defines the type of the service https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types | |
type: ClusterIP | |
# Service.port defines the port of the service, where the tasklist web application will be available | |
port: 80 | |
# GraphqlPlaygroundEnabled if true, enables the graphql playground | |
graphqlPlaygroundEnabled: "" | |
# GraphqlPlaygroundEnabled can be set to include the credentials in each request, should be set to "include" if graphql playground is enabled | |
graphqlPlaygroundRequestCredentials: "" | |
# ExtraVolumes can be used to define extra volumes for the Tasklist pods, useful for tls and self-signed certificates | |
extraVolumes: [] | |
# ExtraVolumeMounts can be used to mount extra volumes for the Tasklist pods, useful for tls and self-signed certificates | |
extraVolumeMounts: [] | |
# PodSecurityContext defines the security options the Tasklist pod should be run with | |
podSecurityContext: {} | |
# ContainerSecurityContext defines the security options the Tasklist container should be run with | |
containerSecurityContext: {} | |
# StartupProbe configuration | |
startupProbe: | |
# StartupProbe.enabled if true, the startup probe is enabled in app container | |
enabled: false | |
# StartupProbe.probePath defines the startup probe route used on the app | |
probePath: /actuator/health/readiness | |
# StartupProbe.initialDelaySeconds defines the number of seconds after the container has started before | |
# the probe is initiated. | |
initialDelaySeconds: 30 | |
# StartupProbe.periodSeconds defines how often the probe is executed | |
periodSeconds: 30 | |
# StartupProbe.successThreshold defines how often it needs to be true to be marked as ready, after failure | |
successThreshold: 1 | |
# StartupProbe.failureThreshold defines when the probe is considered as failed so the Pod will be marked Unready | |
failureThreshold: 5 | |
# StartupProbe.timeoutSeconds defines the seconds after the probe times out | |
timeoutSeconds: 1 | |
# ReadinessProbe configuration | |
readinessProbe: | |
# ReadinessProbe.enabled if true, the readiness probe is enabled in app container | |
enabled: false | |
# ReadinessProbe.probePath defines the readiness probe route used on the app | |
probePath: /actuator/health/readiness | |
# ReadinessProbe.initialDelaySeconds defines the number of seconds after the container has started before | |
# the probe is initiated. | |
initialDelaySeconds: 30 | |
# ReadinessProbe.periodSeconds defines how often the probe is executed | |
periodSeconds: 30 | |
# ReadinessProbe.successThreshold defines how often it needs to be true to be marked as ready, after failure | |
successThreshold: 1 | |
# ReadinessProbe.failureThreshold defines when the probe is considered as failed so the Pod will be marked Unready | |
failureThreshold: 5 | |
# ReadinessProbe.timeoutSeconds defines the seconds after the probe times out | |
timeoutSeconds: 1 | |
# LivenessProbe configuration | |
livenessProbe: | |
# LivenessProbe.enabled if true, the liveness probe is enabled in app container | |
enabled: false | |
# LivenessProbe.probePath defines the liveness probe route used on the app | |
probePath: /actuator/health/liveness | |
# LivenessProbe.initialDelaySeconds defines the number of seconds after the container has started before | |
# the probe is initiated. | |
initialDelaySeconds: 30 | |
# LivenessProbe.periodSeconds defines how often the probe is executed | |
periodSeconds: 30 | |
# LivenessProbe.successThreshold defines how often it needs to be true to be considered successful after having failed | |
successThreshold: 1 | |
# LivenessProbe.failureThreshold defines when the probe is considered as failed so the container will be restarted | |
failureThreshold: 5 | |
# LivenessProbe.timeoutSeconds defines the seconds after the probe times out | |
timeoutSeconds: 1 | |
# NodeSelector can be used to define on which nodes the Tasklist pods should run | |
nodeSelector: {} | |
# Tolerations can be used to define pod toleration's https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/ | |
tolerations: [] | |
# Affinity can be used to define pod affinity or anti-affinity https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity | |
affinity: {} | |
# Resources configuration to set request and limit configuration for the container https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits | |
resources: | |
requests: | |
cpu: 400m | |
memory: 1Gi | |
limits: | |
cpu: 1000m | |
memory: 2Gi | |
# Ingress configuration to configure the ingress resource | |
ingress: | |
# Ingress.enabled if true, an ingress resource is deployed with the tasklist deployment. Only useful if an ingress controller is available, like nginx. | |
enabled: false | |
# Ingress.className defines the class or configuration of ingress which should be used by the controller | |
className: nginx | |
# Ingress.annotations defines the ingress related annotations, consumed mostly by the ingress controller | |
annotations: | |
ingress.kubernetes.io/rewrite-target: "/" | |
nginx.ingress.kubernetes.io/ssl-redirect: "false" | |
# Ingress.path defines the path which is associated with the operate service and port https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules | |
path: / | |
# Ingress.host can be used to define the host of the ingress rule. https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules | |
# If not specified the rules applies to all inbound http traffic, if specified the rule applies to that host. | |
host: | |
tls: | |
# Ingress.tls.enabled if true, then tls is configured on the ingress resource. If enabled the Ingress.host need to be defined. | |
enabled: false | |
# Ingress.tls.secretName defines the secret name which contains the TLS private key and certificate | |
secretName: "" | |
# Optimize configuration for the Optimize sub chart. | |
optimize: | |
# Enabled if true, the Optimize deployment and its related resources are deployed via a helm release | |
enabled: true | |
# Image configuration to configure the Optimize image specifics | |
image: | |
# Image.registry can be used to set container image registry. | |
registry: "" | |
# Image.repository defines which image repository to use | |
repository: camunda/optimize | |
# Image.tag can be set to overwrite the global tag, which should be used in that chart | |
# Don't change the comment after the value, it's needed due to a bug yq. Check Makefile for more details. | |
tag: 3.9.3 # optimize.image.tag | |
# Image.pullSecrets can be used to configure image pull secrets https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod | |
pullSecrets: [] | |
# ContextPath can be used to make Optimize web application works on a custom sub-path. This is mainly used to run Camunda Platform web applications under a single domain. | |
# contextPath: "/optimize" | |
# PodAnnotations can be used to define extra Optimize pod annotations | |
podAnnotations: {} | |
# PodLabels can be used to define extra Optimize pod labels | |
podLabels: {} | |
# PartitionCount defines how many Zeebe partitions are set up in the cluster and which should be imported by Optimize | |
partitionCount: "3" | |
# Env can be used to set extra environment variables in each Optimize container | |
env: [] | |
# Command can be used to override the default command provided by the container image. See https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/ | |
command: [] | |
# ExtraVolumes can be used to define extra volumes for the Optimize pods, useful for tls and self-signed certificates | |
extraVolumes: [] | |
# ExtraVolumeMounts can be used to mount extra volumes for the Optimize pods, useful for tls and self-signed certificates | |
extraVolumeMounts: [] | |
# ServiceAccount configuration for the service account where the Optimize pods are assigned to | |
serviceAccount: | |
# ServiceAccount.enabled if true, enables the Optimize service account | |
enabled: true | |
# ServiceAccount.name can be used to set the name of the Optimize service account | |
name: "" | |
# ServiceAccount.annotations can be used to set the annotations of the Optimize service account | |
annotations: {} | |
# Service configuration to configure the Optimize service. | |
service: | |
# Service.type defines the type of the service https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types | |
type: ClusterIP | |
# Service.port defines the port of the service, where the Optimize web application will be available | |
port: 80 | |
# Service.annotations can be used to define annotations, which will be applied to the Optimize service | |
annotations: {} | |
# Service.managementPort defines the port where actuator will be available. Also required to reach backup API | |
managementPort: 8092 | |
# PodSecurityContext defines the security options the Optimize pod should be run with | |
podSecurityContext: {} | |
# ContainerSecurityContext defines the security options the Optimize container should be run with | |
containerSecurityContext: {} | |
# StartupProbe configuration | |
startupProbe: | |
# StartupProbe.enabled if true, the startup probe is enabled in app container | |
enabled: false | |
# StartupProbe.probePath defines the startup probe route used on the app | |
probePath: /api/readyz | |
# StartupProbe.initialDelaySeconds defines the number of seconds after the container has started before | |
# the probe is initiated. | |
initialDelaySeconds: 30 | |
# StartupProbe.periodSeconds defines how often the probe is executed | |
periodSeconds: 30 | |
# StartupProbe.successThreshold defines how often it needs to be true to be marked as ready, after failure | |
successThreshold: 1 | |
# StartupProbe.failureThreshold defines when the probe is considered as failed so the Pod will be marked Unready | |
failureThreshold: 5 | |
# StartupProbe.timeoutSeconds defines the seconds after the probe times out | |
timeoutSeconds: 1 | |
# ReadinessProbe configuration | |
readinessProbe: | |
# ReadinessProbe.enabled if true, the readiness probe is enabled in app container | |
enabled: false | |
# ReadinessProbe.probePath defines the readiness probe route used on the app | |
probePath: /api/readyz | |
# ReadinessProbe.initialDelaySeconds defines the number of seconds after the container has started before | |
# the probe is initiated. | |
initialDelaySeconds: 30 | |
# ReadinessProbe.periodSeconds defines how often the probe is executed | |
periodSeconds: 30 | |
# ReadinessProbe.successThreshold defines how often it needs to be true to be marked as ready, after failure | |
successThreshold: 1 | |
# ReadinessProbe.failureThreshold defines when the probe is considered as failed so the Pod will be marked Unready | |
failureThreshold: 5 | |
# ReadinessProbe.timeoutSeconds defines the seconds after the probe times out | |
timeoutSeconds: 1 | |
# LivenessProbe configuration | |
livenessProbe: | |
# LivenessProbe.enabled if true, the liveness probe is enabled in app container | |
enabled: false | |
# LivenessProbe.probePath defines the liveness probe route used on the app | |
probePath: /api/readyz | |
# LivenessProbe.initialDelaySeconds defines the number of seconds after the container has started before | |
# the probe is initiated. | |
initialDelaySeconds: 30 | |
# LivenessProbe.periodSeconds defines how often the probe is executed | |
periodSeconds: 30 | |
# LivenessProbe.successThreshold defines how often it needs to be true to be considered successful after having failed | |
successThreshold: 1 | |
# LivenessProbe.failureThreshold defines when the probe is considered as failed so the container will be restarted | |
failureThreshold: 5 | |
# LivenessProbe.timeoutSeconds defines the seconds after the probe times out | |
timeoutSeconds: 1 | |
# NodeSelector can be used to define on which nodes the Optimize pods should run | |
nodeSelector: {} | |
# Tolerations can be used to define pod toleration's https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/ | |
tolerations: [] | |
# Affinity can be used to define pod affinity or anti-affinity https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity | |
affinity: {} | |
# Resources configuration to set request and limit configuration for the container https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits | |
resources: | |
requests: | |
cpu: 600m | |
memory: 1Gi | |
limits: | |
cpu: 2000m | |
memory: 2Gi | |
# Ingress configuration to configure the ingress resource | |
ingress: | |
# Ingress.enabled if true, an ingress resource is deployed with the Optimize deployment. Only useful if an ingress controller is available, like nginx. | |
enabled: false | |
# Ingress.className defines the class or configuration of ingress which should be used by the controller | |
className: nginx | |
# Ingress.annotations defines the ingress related annotations, consumed mostly by the ingress controller | |
annotations: | |
ingress.kubernetes.io/rewrite-target: "/" | |
nginx.ingress.kubernetes.io/ssl-redirect: "false" | |
# Ingress.path defines the path which is associated with the operate service and port https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules | |
path: / | |
# Ingress.host can be used to define the host of the ingress rule. https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules | |
# If not specified the rules applies to all inbound http traffic, if specified the rule applies to that host. | |
host: | |
# Ingress.tls configuration for tls on the ingress resource https://kubernetes.io/docs/concepts/services-networking/ingress/#tls | |
tls: | |
# Ingress.tls.enabled if true, then tls is configured on the ingress resource. If enabled the Ingress.host need to be defined. | |
enabled: false | |
# Ingress.tls.secretName defines the secret name which contains the TLS private key and certificate | |
secretName: "" | |
# RetentionPolicy configuration to configure the elasticsearch index retention policies | |
retentionPolicy: | |
# RetentionPolicy.enabled if true, elasticsearch curator cronjob and configuration will be deployed. | |
enabled: false | |
# RetentionPolicy.schedule defines how often/when the curator should run | |
schedule: "0 0 * * *" | |
# RetentionPolicy.zeebeIndexTTL defines after how many days a zeebe index can be deleted | |
zeebeIndexTTL: 1 | |
# RetentionPolicy.zeebeIndexMaxSize can be set to configure the maximum allowed zeebe index size in gigabytes. | |
# After reaching that size, curator will delete that corresponding index on the next run. | |
# To benefit from that configuration the schedule needs to be configured small enough, like every 15 minutes. | |
zeebeIndexMaxSize: | |
# RetentionPolicy.operateIndexTTL defines after how many days an operate index can be deleted | |
operateIndexTTL: 30 | |
# RetentionPolicy.tasklistIndexTTL defines after how many days a tasklist index can be deleted | |
tasklistIndexTTL: 30 | |
# Image configuration for the elasticsearch curator cronjob | |
image: | |
# Image.registry can be used to set container image registry. | |
registry: "" | |
# Image.repository defines which image repository to use | |
repository: bitnami/elasticsearch-curator | |
# Image.tag defines the tag / version which should be used in the chart | |
tag: 5.8.4 | |
# PrometheusServiceMonitor configuration to configure a prometheus service monitor | |
prometheusServiceMonitor: | |
# PrometheusServiceMonitor.enabled if true then a service monitor will be deployed, which allows an installed prometheus controller to scrape metrics from the deployed pods | |
enabled: false | |
# PromotheuServiceMonitor.labels can be set to configure extra labels, which will be added to the servicemonitor and can be used on the prometheus controller for selecting the servicemonitors | |
labels: | |
release: metrics | |
# PromotheuServiceMonitor.scrapeInterval can be set to configure the interval at which metrics should be scraped | |
# Should be *less* than 60s if the provided grafana dashboard is used, which can be found here https://github.com/camunda/zeebe/tree/main/monitor/grafana, | |
# otherwise it isn't able to show any metrics which is aggregated over 1 min. | |
scrapeInterval: 10s | |
# Identity configuration for the identity sub chart. | |
identity: | |
# Enabled if true, the identity deployment and its related resources are deployed via a helm release | |
# | |
# Note: Identity is required by Optimize and Web Modeler. If Identity is disabled, both Optimize and Web Modeler will be unusable. | |
# If you need neither Optimize nor Web Modeler, make sure to disable both the Identity authentication and the applications by setting: | |
# global.identity.auth.enabled=false | |
# optimize.enabled=false | |
# web-modeler.enabled=false | |
enabled: true | |
# FirstUser configuration to configure properties of the first Identity user, which can be used to access all | |
# web applications | |
firstUser: | |
# FirstUser.username defines the username of the first user, needed to log in into the web applications | |
username: demo | |
# FirstUser.password defines the password of the first user, needed to log in into the web applications | |
password: demo | |
# FirstUser.email defines the email address of the first user; a valid email address is required to use Web Modeler | |
email: demo@example.org | |
# FirstUser.firstName defines the first name of the first user; a name is required to use Web Modeler | |
firstName: Demo | |
# FirstUser.lastName defines the last name of the first user; a name is required to use Web Modeler | |
lastName: User | |
# Image configuration to configure the identity image specifics | |
image: | |
# Image.registry can be used to set container image registry. | |
registry: "" | |
# Image.repository defines which image repository to use | |
repository: camunda/identity | |
# Image.tag can be set to overwrite the global tag, which should be used in that chart | |
tag: | |
# Image.pullSecrets can be used to configure image pull secrets https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod | |
pullSecrets: [] | |
# FullURL can be used when Ingress is configured (for both multi and single domain setup). | |
# Note: If the `ContextPath` is configured, then value of `ContextPath` should be included in the URL too. | |
# fullURL: "https://camunda.example.com/identity" | |
# ContextPath can be used to make Identity web application works on a custom sub-path. This is mainly used | |
# to run Camunda Platform web applications under a single domain. | |
# Note: Identity cannot be accessed over HTTP if a "contextPath" is configured. | |
# Which means that Identity cannot be configured in combined Ingress without HTTPS. | |
# To use Identity over HTTP, setup a separated Ingress using "identity.ingress" and don't set "contextPath". | |
# contextPath: "/identity" | |
# PodAnnotations can be used to define extra Identity pod annotations | |
podAnnotations: {} | |
# Service configuration to configure the identity service. | |
service: | |
# Service.type defines the type of the service https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types | |
type: ClusterIP | |
# Service.annotations can be used to define annotations, which will be applied to the identity service | |
annotations: {} | |
# Service.port defines the port of the service on which the identity application will be available | |
port: 80 | |
# Service.metricsPort defines the port of the service on which the identity metrics will be available | |
metricsPort: 82 | |
# Service.metricsName defines the name of the service on which the identity metrics will be available | |
metricsName: metrics | |
# PodSecurityContext defines the security options the Identity pod should be run with | |
podSecurityContext: {} | |
# ContainerSecurityContext defines the security options the Identity container should be run with | |
containerSecurityContext: {} | |
# StartupProbe configuration | |
startupProbe: | |
# StartupProbe.enabled if true, the startup probe is enabled in app container | |
enabled: false | |
# StartupProbe.probePath defines the startup probe route used on the app | |
probePath: /actuator/health | |
# StartupProbe.initialDelaySeconds defines the number of seconds after the container has started before | |
# the probe is initiated. | |
initialDelaySeconds: 30 | |
# StartupProbe.periodSeconds defines how often the probe is executed | |
periodSeconds: 30 | |
# StartupProbe.successThreshold defines how often it needs to be true to be marked as ready, after failure | |
successThreshold: 1 | |
# StartupProbe.failureThreshold defines when the probe is considered as failed so the Pod will be marked Unready | |
failureThreshold: 5 | |
# StartupProbe.timeoutSeconds defines the seconds after the probe times out | |
timeoutSeconds: 1 | |
# ReadinessProbe configuration | |
readinessProbe: | |
# ReadinessProbe.enabled if true, the readiness probe is enabled in app container | |
enabled: false | |
# ReadinessProbe.probePath defines the readiness probe route used on the app | |
probePath: /actuator/health | |
# ReadinessProbe.initialDelaySeconds defines the number of seconds after the container has started before | |
# the probe is initiated. | |
initialDelaySeconds: 30 | |
# ReadinessProbe.periodSeconds defines how often the probe is executed | |
periodSeconds: 30 | |
# ReadinessProbe.successThreshold defines how often it needs to be true to be marked as ready, after failure | |
successThreshold: 1 | |
# ReadinessProbe.failureThreshold defines when the probe is considered as failed so the Pod will be marked Unready | |
failureThreshold: 5 | |
# ReadinessProbe.timeoutSeconds defines the seconds after the probe times out | |
timeoutSeconds: 1 | |
# LivenessProbe configuration | |
livenessProbe: | |
# LivenessProbe.enabled if true, the liveness probe is enabled in app container | |
enabled: false | |
# LivenessProbe.probePath defines the liveness probe route used on the app | |
probePath: /actuator/health | |
# LivenessProbe.initialDelaySeconds defines the number of seconds after the container has started before | |
# the probe is initiated. | |
initialDelaySeconds: 30 | |
# LivenessProbe.periodSeconds defines how often the probe is executed | |
periodSeconds: 30 | |
# LivenessProbe.successThreshold defines how often it needs to be true to be considered successful after having failed | |
successThreshold: 1 | |
# LivenessProbe.failureThreshold defines when the probe is considered as failed so the container will be restarted | |
failureThreshold: 5 | |
# LivenessProbe.timeoutSeconds defines the seconds after the probe times out | |
timeoutSeconds: 1 | |
# NodeSelector can be used to define on which nodes the Identity pods should run | |
nodeSelector: {} | |
# Tolerations can be used to define pod toleration's https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/ | |
tolerations: [] | |
# Affinity can be used to define pod affinity or anti-affinity https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity | |
affinity: {} | |
# Resources configuration to set request and limit configuration for the container https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits | |
resources: | |
requests: | |
cpu: 600m | |
memory: 400Mi | |
limits: | |
cpu: 2000m | |
memory: 2Gi | |
# Env can be used to set extra environment variables in each identity container. See the documentation https://docs.camunda.io/docs/self-managed/identity/deployment/configuration-variables/ for more details. | |
env: [] | |
# Command can be used to override the default command provided by the container image. See https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/ | |
command: [] | |
# ExtraVolumes can be used to define extra volumes for the identity pods, useful for tls and self-signed certificates | |
extraVolumes: [] | |
# ExtraVolumeMounts can be used to mount extra volumes for the identity pods, useful for tls and self-signed certificates | |
extraVolumeMounts: [] | |
# Keycloak configuration, for the keycloak dependency chart which is used by identity. | |
# For more details: https://github.com/bitnami/charts/tree/master/bitnami/keycloak#parameters | |
keycloak: | |
# Keycloak.enabled is used incorporate with "global.identity.keycloak" to use your own Keycloak instead of the one comes with Camunda Platform Helm chart. | |
enabled: true | |
# NOTE: Since Helm v3 (latest checked 3.10.x) doesn't merge lists with custom values files, then you will need to | |
# add this to your own values file if you override any of "extraVolumes", "initContainers", or "extraVolumeMounts". | |
extraVolumes: | |
- name: camunda-theme | |
emptyDir: | |
sizeLimit: 10Mi | |
initContainers: | |
- name: copy-camunda-theme | |
image: >- | |
{{- $identityImageParams := (dict "base" .Values.global "overlay" .Values.global.identity) -}} | |
{{- include "camundaPlatform.imageByParams" $identityImageParams }} | |
imagePullPolicy: "{{ .Values.global.image.pullPolicy }}" | |
command: ["sh", "-c", "cp -a /app/keycloak-theme/* /mnt"] | |
volumeMounts: | |
- name: camunda-theme | |
mountPath: /mnt | |
extraVolumeMounts: | |
- name: camunda-theme | |
mountPath: /opt/bitnami/keycloak/themes/identity | |
# Keycloak.httpRelativePath defines the context for Keycloak. This config is valid for Keycloak v19.x.x only | |
# where in Keycloak v16.x.x it's hard-coded as '/auth', but in v19.x.x it's configurable. | |
# NOTE: This should be the same as ".Values.global.identity.keycloak.contextPath" plus a trailing slash, | |
# but it cannot be referenced directly because of a bug in Helm (tested with Helm v3.9.3). | |
httpRelativePath: /auth/ | |
extraEnvVars: | |
# KEYCLOAK_PROXY_ADDRESS_FORWARDING can be used with Ingress that has SSL Termination. It will be "true" if the TLS | |
# in global Ingress is enabled, but it could be overwritten with separate Ingress setup. | |
- name: KEYCLOAK_PROXY_ADDRESS_FORWARDING | |
value: "{{ .Values.global.ingress.tls.enabled }}" | |
# Keycloak.ingress can be used to configure an Ingress for Keycloak. No need to enable it if the global Ingress | |
# under "global.ingress" is enabled. However, it's possible to setup Keycloak on a separate Ingress if needed. | |
# For more details: https://github.com/bitnami/charts/tree/main/bitnami/keycloak#configure-ingress | |
ingress: | |
enabled: false | |
# Keycloak.service configuration, to configure the service which is deployed along with keycloak | |
service: | |
# Keycloak.service.type can be set to change the service type. | |
# We use clusterIP for keycloak service, since per default LoadBalancer is used, which is not supported on all cloud providers. | |
# This might prevent scheduling of the service. | |
type: ClusterIP | |
## Keycloak authentication parameters | |
## ref: https://github.com/bitnami/bitnami-docker-keycloak#admin-credentials | |
## | |
## Identity uses the secrets generated by keycloak, to access keycloak. | |
auth: | |
# Keycloak.auth.adminUser defines the keycloak administrator user | |
adminUser: admin | |
# Keycloak.auth.existingSecret can be used to reuse an existing secret containing authentication information. | |
# See https://docs.bitnami.com/kubernetes/apps/keycloak/configuration/manage-passwords/ for more details. | |
# | |
# Example: | |
# | |
# Keycloak.auth.existingSecret: | |
# name: mySecret | |
# keyMapping: | |
# admin-password: myPasswordKey | |
# management-password: myManagementPasswordKey | |
# tls-keystore-password: myTlsKeystorePasswordKey | |
# tls-truestore-password: myTlsTruestorePasswordKey | |
existingSecret: "" | |
## Keycloak.auth.tls.enabled can be used to enable TLS encryption. Required for HTTPs traffic. | |
tls: | |
enabled: false | |
# ServiceAccount configuration for the service account where the identity pods are assigned to | |
serviceAccount: | |
# ServiceAccount.enabled if true, enables the identity service account | |
enabled: true | |
# ServiceAccount.name can be used to set the name of the identity service account | |
name: "" | |
# ServiceAccount.annotations can be used to set the annotations of the identity service account | |
annotations: {} | |
# Ingress configuration to configure the ingress resource | |
ingress: | |
# Ingress.enabled if true, an ingress resource is deployed with the identity deployment. Only useful if an ingress controller is available, like nginx. | |
enabled: false | |
# Ingress.className defines the class or configuration of ingress which should be used by the controller | |
className: nginx | |
# Ingress.annotations defines the ingress related annotations, consumed mostly by the ingress controller | |
annotations: | |
ingress.kubernetes.io/rewrite-target: "/" | |
nginx.ingress.kubernetes.io/ssl-redirect: "false" | |
# Ingress.path defines the path which is associated with the operate service and port https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules | |
path: / | |
# Ingress.host can be used to define the host of the ingress rule. https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules | |
# If not specified the rules applies to all inbound http traffic, if specified the rule applies to that host. | |
host: "" | |
# Ingress.tls configuration for tls on the ingress resource https://kubernetes.io/docs/concepts/services-networking/ingress/#tls | |
tls: | |
# Ingress.tls.enabled if true, then tls is configured on the ingress resource. If enabled the Ingress.host need to be defined. | |
enabled: false | |
# Ingress.tls.secretName defines the secret name which contains the TLS private key and certificate | |
secretName: "" | |
# Web-Modeler configuration of the Web Modeler subchart | |
web-modeler: | |
# Enabled if true, the Web Modeler deployment and its related resources are deployed via a helm release | |
enabled: false | |
# Image configuration of the Web Modeler Docker images | |
image: | |
# Image.registry can be used to set the Docker registry for the Web Modeler images (overwrites global.image.registry) | |
# Note: The images are not publicly available on Docker Hub, but only from Camunda's private registry. | |
registry: registry.camunda.cloud | |
# Image.tag can be used to set the Docker image tag for the Web Modeler images (overwrites global.image.tag) | |
tag: 0.4.0-beta | |
# Image.pullSecrets can be used to configure image pull secrets, see https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod | |
# Note: A secret will be required, if the Web Modeler images are pulled directly from Camunda's private registry. | |
# | |
# Example: | |
# | |
# pullSecrets: | |
# - name: registry-secret | |
pullSecrets: [] | |
# Restapi configuration of the Web Modeler restapi component | |
restapi: | |
# Restapi.image configuration of the restapi Docker image | |
image: | |
# Restapi.image.repository defines which image repository to use for the restapi Docker image | |
repository: web-modeler-ee/modeler-restapi | |
# Restapi.externalDatabase can be used to configure a connection to an external database. This will only be applied | |
# if the postgresql dependency chart is disabled (by setting postgresql.enabled to false). | |
# Note: Currently, the only supported database system is PostgreSQL. | |
externalDatabase: | |
# Restapi.externalDatabase.host defines the host name of the database instance | |
host: "" | |
# Restapi.externalDatabase.port defines the port number of the database instance | |
port: 5432 | |
# Restapi.externalDatabase.database defines the database name | |
database: "" | |
# Restapi.externalDatabase.user defines the database user | |
user: "" | |
# Restapi.externalDatabase.password defines the database user's password | |
password: "" | |
# Restapi.mail configuration for emails sent by Web Modeler | |
mail: | |
# Restapi.mail.smtpHost defines the host name of the SMTP server to be used by Web Modeler | |
smtpHost: "" | |
# Restapi.mail.smtpPort defines the port number of the SMTP server | |
smtpPort: 587 | |
# Restapi.mail.smtpUser can be used to provide a user for the SMTP server | |
smtpUser: "" | |
# Restapi.mail.smtpPassword can be used to provide a password for the SMTP server | |
smtpPassword: "" | |
# Restapi.mail.smtpTlsEnabled if true, enforces TLS encryption for SMTP connections (using STARTTLS) | |
smtpTlsEnabled: true | |
# Restapi.mail.fromAddress defines the email address that will be displayed as the sender of emails sent by Web Modeler | |
fromAddress: "" | |
# Restapi.mail.fromName defines the name that will be displayed as the sender of emails sent by Web Modeler | |
fromName: "Camunda Platform" | |
# Restapi.podAnnotations can be used to define extra restapi pod annotations | |
podAnnotations: {} | |
# Restapi.podLabels can be used to define extra restapi pod labels | |
podLabels: {} | |
# Restapi.env can be used to set extra environment variables in each restapi container | |
env: [] | |
# Restapi.command can be used to override the default command provided by the container image, see https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/ | |
command: [] | |
# Restapi.extraVolumes can be used to define extra volumes for the restapi pods, useful for TLS and self-signed certificates | |
extraVolumes: [] | |
# Restapi.extraVolumeMounts can be used to mount extra volumes for the restapi pods, useful for TLS and self-signed certificates | |
extraVolumeMounts: [] | |
# Restapi.podSecurityContext can be used to define the security options the restapi pod should be run with | |
podSecurityContext: {} | |
# Restapi.containerSecurityContext can be used to define the security options the restapi container should be run with | |
containerSecurityContext: {} | |
# Restapi.nodeSelector can be used to select the nodes the restapi pods should run on | |
nodeSelector: {} | |
# Restapi.tolerations can be used to define pod tolerations, see https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/ | |
tolerations: [] | |
# Restapi.affinity can be used to define pod affinity or anti-affinity, see https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity | |
affinity: {} | |
# Restapi.resources configuration of resource requests and limits for the container, see https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits | |
resources: | |
requests: | |
cpu: 500m | |
memory: 1Gi | |
limits: | |
cpu: 1000m | |
memory: 2Gi | |
# Restapi.service configuration of the Web Modeler restapi service | |
service: | |
# Restapi.service.type defines the type of the service, see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types | |
type: ClusterIP | |
# Restapi.service.port defines the default port of the service | |
port: 80 | |
# Restapi.service.managementPort defines the management port of the service | |
managementPort: 8091 | |
# Restapi.service.annotations can be used to define annotations which will be applied to the service | |
annotations: {} | |
# Webapp configuration of the Web Modeler webapp component | |
webapp: | |
# Webapp.image configuration of the webapp Docker image | |
image: | |
# Webapp.image.repository defines which image repository to use for the webapp Docker image | |
repository: web-modeler-ee/modeler-webapp | |
# Webapp.podAnnotations can be used to define extra webapp pod annotations | |
podAnnotations: {} | |
# Webapp.podLabels can be used to define extra webapp pod labels | |
podLabels: {} | |
# Webapp.env can be used to set extra environment variables in each webapp container | |
env: [] | |
# Webapp.command can be used to override the default command provided by the container image, see https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/ | |
command: [] | |
# Webapp.extraVolumes can be used to define extra volumes for the webapp pods, useful for TLS and self-signed certificates | |
extraVolumes: [] | |
# Webapp.extraVolumeMounts can be used to mount extra volumes for the webapp pods, useful for TLS and self-signed certificates | |
extraVolumeMounts: [] | |
# Webapp.podSecurityContext can be used to define the security options the webapp pod should be run with | |
podSecurityContext: {} | |
# Webapp.containerSecurityContext can be used to define the security options the webapp container should be run with | |
containerSecurityContext: {} | |
# Webapp.nodeSelector can be used to select the nodes the webapp pods should run on | |
nodeSelector: {} | |
# Webapp.tolerations can be used to define pod tolerations, see https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/ | |
tolerations: [] | |
# Webapp.affinity can be used to define pod affinity or anti-affinity, see https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity | |
affinity: {} | |
# Webapp.resources configuration of resource requests and limits for the container, see https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits | |
resources: | |
requests: | |
cpu: 400m | |
memory: 256Mi | |
limits: | |
cpu: 800m | |
memory: 512Mi | |
# Webapp.service configuration of the Web Modeler webapp service | |
service: | |
# Webapp.service.type defines the type of the service, see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types | |
type: ClusterIP | |
# Webapp.service.port defines the port of the service | |
port: 80 | |
# Webapp.service.annotations can be used to define annotations which will be applied to the service | |
annotations: {} | |
# Websockets configuration of the Web Modeler websockets component | |
websockets: | |
# Websockets.image configuration of the websockets Docker image | |
image: | |
# Websockets.image.repository defines which image repository to use for the websockets Docker image | |
repository: web-modeler-ee/modeler-websockets | |
# Websockets.publicHost can be used to define the host on which the WebSockets server can be reached from the Web Modeler client in the browser. | |
# The default value assumes that a port-forwarding to the websockets service has been created. | |
# Note: The host will only be used if the Ingress resource for Web Modeler is disabled. | |
publicHost: localhost | |
# Websockets.publicPort can be used to define the port number on which the WebSockets server can be reached from the Web Modeler client in the browser. | |
# The default value assumes that a port-forwarding to the websockets service on port 8085 has been created. | |
# Note: The port will only be used if the Ingress resource for Web Modeler is disabled. | |
publicPort: 8085 | |
# Websockets.podAnnotations can be used to define extra websockets pod annotations | |
podAnnotations: {} | |
# Websockets.podLabels can be used to define extra websockets pod labels | |
podLabels: {} | |
# Websockets.env can be used to set extra environment variables in each websockets container | |
env: [] | |
# Websockets.command can be used to override the default command provided by the container image, see https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/ | |
command: [] | |
# Websockets.podSecurityContext can be used to define the security options the websockets pod should be run with | |
podSecurityContext: {} | |
# Websockets.containerSecurityContext can be used to define the security options the websockets container should be run with | |
containerSecurityContext: {} | |
# Websockets.nodeSelector can be used to select the nodes the websockets pods should run on | |
nodeSelector: {} | |
# Websockets.tolerations can be used to define pod tolerations, see https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/ | |
tolerations: [] | |
# Websockets.affinity can be used to define pod affinity or anti-affinity, see https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity | |
affinity: {} | |
# Websockets.resources configuration of resource requests and limits for the container, see https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits | |
resources: | |
requests: | |
cpu: 100m | |
memory: 64Mi | |
limits: | |
cpu: 200m | |
memory: 128Mi | |
# Websockets.service configuration of the Web Modeler websockets service | |
service: | |
# Websockets.service.type defines the type of the service, see https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types | |
type: ClusterIP | |
# Websockets.service.port defines the port of the service | |
port: 80 | |
# Websockets.service.annotations can be used to define annotations which will be applied to the service | |
annotations: {} | |
# ServiceAccount configuration for the service account the Web Modeler pods are assigned to | |
serviceAccount: | |
# ServiceAccount.enabled if true, enables the Web Modeler service account | |
enabled: true | |
# ServiceAccount.name can be used to set the name of the Web Modeler service account | |
name: "" | |
# ServiceAccount.annotations can be used to set the annotations of the Web Modeler service account | |
annotations: {} | |
# Ingress configuration of the Web Modeler ingress resource | |
ingress: | |
# Ingress.enabled if true, an Ingress resource will be deployed with the Web Modeler deployment. Only useful if an Ingress controller like NGINX is available. | |
enabled: false | |
# Ingress.className defines the class or configuration of ingress which should be used by the controller | |
className: nginx | |
# Ingress.annotations defines the ingress related annotations, consumed mostly by the ingress controller | |
annotations: | |
ingress.kubernetes.io/rewrite-target: "/" | |
nginx.ingress.kubernetes.io/ssl-redirect: "false" | |
# Ingress.webapp configuration of the webapp ingress | |
webapp: | |
# Ingress.webapp.host defines the host of the ingress rule, see https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules; this is the host name on which the Web Modeler web application will be available | |
# Note: the value must be different from ingress.websockets.host | |
host: "" | |
# Ingress.webapp.tls configuration for TLS on the ingress resource, see https://kubernetes.io/docs/concepts/services-networking/ingress/#tls | |
tls: | |
# Ingress.webapp.tls.enabled if true, TLS will be configured on the ingress resource | |
enabled: false | |
# Ingress.webapp.tls.secretName defines the secret name which contains the TLS private key and certificate | |
secretName: "" | |
# Ingress.websockets configuration of the websockets ingress | |
websockets: | |
# Ingress.websockets.host defines the host of the ingress rule, see https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules; this is the host name the Web Modeler client in the browser will use to connect to the WebSockets server | |
# Note: the value must be different from ingress.webapp.host | |
host: "" | |
# Ingress.websockets.tls configuration for TLS on the ingress resource, see https://kubernetes.io/docs/concepts/services-networking/ingress/#tls | |
tls: | |
# Ingress.websockets.tls.enabled if true, TLS will be configured on the ingress resource | |
enabled: false | |
# Ingress.websockets.tls.secretName defines the secret name which contains the TLS private key and certificate | |
secretName: "" | |
# Postgresql configuration for the postgresql dependency chart used by Web Modeler. See the chart documentation https://github.com/bitnami/charts/tree/master/bitnami/postgresql#parameters for more details. | |
postgresql: | |
# Postgresql.enabled if true, a PostgreSQL database will be deployed as part of the Helm release by using the dependency chart | |
# Note: if set to false, a connection to an external database must be configured instead (see Restapi.externalDatabase) | |
enabled: true | |
# Postgresql.nameOverride defines the name of the Postgres resources (names will be prefixed with the release name), see https://github.com/bitnami/charts/tree/main/bitnami/postgresql#common-parameters | |
# Note: Must be different from the default value "postgresql" which is already used for Keycloak's database | |
nameOverride: postgresql-web-modeler | |
# Postgresql.auth configuration of the database authentication | |
auth: | |
# Postgresql.auth.username defines the name of the database user to be created for Web Modeler | |
username: web-modeler | |
# Postgresql.auth.password defines the database user's password; a random password will be generated if left empty | |
password: "" | |
# Postgresql.auth.database defines the name of the database to be created for Web Modeler | |
database: web-modeler | |
elasticsearch: | |
enabled: true | |
extraEnvs: | |
- name: "xpack.security.enabled" | |
value: "false" | |
replicas: 2 | |
persistence: | |
labels: | |
enabled: true | |
volumeClaimTemplate: | |
accessModes: ["ReadWriteOnce"] | |
resources: | |
requests: | |
storage: 64Gi | |
esJavaOpts: "-Xmx1g -Xms1g" | |
resources: | |
requests: | |
cpu: 1 | |
memory: 1Gi | |
limits: | |
cpu: 2 | |
memory: 2Gi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment