Helm Chart Options

Helm chart for GoodData.CN

Note: The dependent subcharts (redis-ha and postgresql-ha) are included in the GoodData.CN chart.

Requirements

RepositoryNameVersion
https://charts.bitnami.com/bitnamipostgresql-ha9.1.5
https://dandydeveloper.github.io/chartsredis-ha4.12.1

Values

KeyTypeDefaultDescription
afmExecApi.actuator.portint9001
afmExecApi.extraEnvVarslist[]Additional environment variables for example: extraEnvVars: [{"name":"SOME_VAR","value":"some value"}]
afmExecApi.image.namestring"afm-exec-api"
afmExecApi.podDisruptionBudget.maxUnavailablestring""
afmExecApi.podDisruptionBudget.minAvailablestring""
afmExecApi.resources.limits.cpustring"1500m"
afmExecApi.resources.limits.memorystring"1200Mi"
afmExecApi.resources.requests.cpustring"300m"
afmExecApi.resources.requests.memorystring"550Mi"
afmExecApi.service.externalPortint9000
afmExecApi.service.internalPortint9000
afmExecApi.service.namestring"afm-exec-api"
afmExecApi.service.typestring"ClusterIP"
analyticalDesigner.extraEnvVarslist[]Additional environment variables for example: extraEnvVars: [{"name":"SOME_VAR","value":"some value"}]
analyticalDesigner.image.namestring"analytical-designer"
analyticalDesigner.podDisruptionBudget.maxUnavailablestring""
analyticalDesigner.podDisruptionBudget.minAvailablestring""
analyticalDesigner.resources.limits.cpustring"50m"
analyticalDesigner.resources.limits.memorystring"25Mi"
analyticalDesigner.resources.requests.cpustring"10m"
analyticalDesigner.resources.requests.memorystring"15Mi"
analyticalDesigner.service.externalPortint9300
analyticalDesigner.service.internalPortint9300
analyticalDesigner.service.namestring"analytical-designer"
analyticalDesigner.service.typestring"ClusterIP"
antiAffinity.enabledboolfalseenables antiAffinity for all GoodData.CN Pods
antiAffinity.topologyKeystring"kubernetes.io/hostname"Topology key for antiAffinity
antiAffinity.typestring"preferredDuringSchedulingIgnoredDuringExecution"“requiredDuringSchedulingIgnoredDuringExecution” or “preferredDuringSchedulingIgnoredDuringExecution”
apiDocs.enabledbooltrueCan be optionally disabled by setting enabled: false
apiDocs.extraEnvVarslist[]Additional environment variables for example: extraEnvVars: [{"name":"SOME_VAR","value":"some value"}]
apiDocs.image.namestring"apidocs"
apiDocs.podDisruptionBudget.maxUnavailablestring""
apiDocs.podDisruptionBudget.minAvailablestring""
apiDocs.replicaCountinttaken from .Values.replicaCountNumber of pod replicas
apiDocs.resources.limits.cpustring"50m"
apiDocs.resources.limits.memorystring"30Mi"
apiDocs.resources.requests.cpustring"20m"
apiDocs.resources.requests.memorystring"15Mi"
apiDocs.service.externalPortint9999
apiDocs.service.internalPortint8080
apiDocs.service.namestring"apidocs"
apiDocs.service.typestring"ClusterIP"
apiGateway.actuator.portint9093
apiGateway.extraEnvVarslist[]Additional environment variables for example: extraEnvVars: [{"name":"SOME_VAR","value":"some value"}]
apiGateway.image.namestring"api-gateway"
apiGateway.podDisruptionBudget.maxUnavailablestring""
apiGateway.podDisruptionBudget.minAvailablestring""
apiGateway.resources.limits.cpustring"2000m"
apiGateway.resources.limits.memorystring"1500Mi"
apiGateway.resources.requests.cpustring"250m"
apiGateway.resources.requests.memorystring"600Mi"
apiGateway.service.externalPortint9092
apiGateway.service.grpcExternalPortint6572
apiGateway.service.grpcInternalPortint6572
apiGateway.service.internalPortint9092
apiGateway.service.namestring"api-gateway"
apiGateway.service.typestring"ClusterIP"
authService.actuator.portint9051
authService.extraEnvVarslist[]Additional environment variables for example: extraEnvVars: [{"name":"SOME_VAR","value":"some value"}]
authService.image.namestring"auth-service"
authService.podDisruptionBudget.maxUnavailablestring""
authService.podDisruptionBudget.minAvailablestring""
authService.pulsar.inviteGenerator.messageTTLint300
authService.pulsar.inviteGenerator.topicstring"invitations"
authService.resources.limits.cpustring"2000m"
authService.resources.limits.memorystring"1200Mi"
authService.resources.requests.cpustring"300m"
authService.resources.requests.memorystring"300Mi"
authService.service.externalPortint9050
authService.service.grpcExternalPortint6573
authService.service.grpcInternalPortint6573
authService.service.internalPortint9050
authService.service.namestring"auth-service"
authService.service.typestring"ClusterIP"
calcique.actuator.portint9012
calcique.extraEnvVarslist[]Additional environment variables for example: extraEnvVars: [{"name":"SOME_VAR","value":"some value"}]
calcique.image.namestring"calcique"
calcique.podDisruptionBudget.maxUnavailablestring""
calcique.podDisruptionBudget.minAvailablestring""
calcique.pulsar.calcique.messageTTLint300
calcique.pulsar.calcique.topicstring"compute.calcique"
calcique.pulsar.deadLetter.topicstring"compute.calcique.DLQ"
calcique.pulsar.modelUpdate.messageTTLint300
calcique.pulsar.modelUpdate.topicstring"metadata.model"
calcique.pulsar.sqlExecutor.messageTTLint300
calcique.pulsar.sqlExecutor.topicstring"sql.select"
calcique.resources.limits.cpustring"1800m"
calcique.resources.limits.memorystring"1000Mi"
calcique.resources.requests.cpustring"250m"
calcique.resources.requests.memorystring"600Mi"
calcique.service.externalPortint9011
calcique.service.grpcExternalPortint6577
calcique.service.grpcInternalPortint6577
calcique.service.internalPortint9011
calcique.service.namestring"calcique"
calcique.service.typestring"ClusterIP"
cookiePolicystring"Lax"Defines value for SameSite attribute of authentication cookies. Allowed values are ‘Strict’, ‘Lax’ and ‘None’ When set to ‘None’, GoodData.UI applications can run on different domains.
dashboards.extraEnvVarslist[]Additional environment variables for example: extraEnvVars: [{"name":"SOME_VAR","value":"some value"}]
dashboards.image.namestring"dashboards"
dashboards.podDisruptionBudget.maxUnavailablestring""
dashboards.podDisruptionBudget.minAvailablestring""
dashboards.resources.limits.cpustring"20m"
dashboards.resources.limits.memorystring"20Mi"
dashboards.resources.requests.cpustring"10m"
dashboards.resources.requests.memorystring"10Mi"
dashboards.service.externalPortint9500
dashboards.service.internalPortint9500
dashboards.service.namestring"dashboards"
dashboards.service.typestring"ClusterIP"
deployDexIdPbooltrueIf set to true, Dex Identity Provider will be installed and configured according to values in “dex:” key below. Follow the guidelines in https://github.com/helm/charts/tree/master/stable/dex how to customize settings. Disabling this component will require every Organization to use an external Identity Provider.
deployPostgresHAbooltrueIf set to true, this chart will install bitnami/postgresql-ha as a part of the deployment. Postgres will be used for hosting Metadata and application configuration databases. If false, your existing, external Postgresql-compatible server must be configured in section service.postgres below. This option is useful for hosting metadata database in AWS RDS, for example.
deployRedisHAbooltrueIf set to true, this chart will install stable/redis-ha as a part of the deployment. If false, your existing Redis-compatible server must be configured in section service.redis below.
deployVisualExporterbooltrueIf set to true, Visual exporter will be deployed
dex.config.database.existingSecretstring""you can specify custom secret with dex database password; the key needs to be “postgresql-password”
dex.config.database.namestring"dex"
dex.config.database.passwordstring""
dex.config.database.sslModestring"disable"possible values: disable, require, verify-ca, verify-full
dex.config.database.userstring""if user is empty, default postgres user and password is used
dex.config.enablePasswordDBbooltrueMap containing set of configured connectors. The key is the id of a connector, value is a map of connector’s parameters (excluding id and redirectURI that are added by template automatically).
dex.config.expiry.deviceRequestsstring"24h"
dex.config.expiry.idTokensstring"24h"
dex.config.expiry.signingKeysstring"48h"
dex.config.frontend.dirstring"web/"
dex.config.frontend.issuerstring"GoodData.CN"
dex.config.frontend.logoUrlstring"theme/logo.svg"
dex.config.frontend.themestring"gdc"
dex.config.grpc.addressstring"0.0.0.0"port is taken from ports section above
dex.config.logger.formatstring"json"
dex.config.logger.levelstring"info"
dex.config.oauth2.alwaysShowLoginScreenboolfalse
dex.config.oauth2.responseTypes[0]string"code"
dex.config.oauth2.responseTypes[1]string"token"
dex.config.oauth2.responseTypes[2]string"id_token"
dex.config.oauth2.skipApprovalScreenbooltrue
dex.config.web.addressstring"0.0.0.0"port is taken from ports section above
dex.extraEnvVarslist[]Additional environment variables for example: extraEnvVars: [{"name":"SOME_VAR","value":"some value"}]
dex.image.namestring"dex"set to repository in local registry for air-gapped installations
dex.ingress.annotationsobject{}Custom annotations that will be added to every Ingress object created by this chart, e.g. cert-manager.io/cluster-issuer: letsencrypt-auth-production or using namespace-specific Issuer: cert-manager.io/issuer: local-ca-issuer
dex.ingress.authHoststring"localhost"hostname where the application will have its authentication Endpoint (Dex). It will be used for organizations without their own external Identity Provider.
dex.ingress.tls.authSecretNamestring""If you have pre-existing secret with your own certificate and key, put its name here. Also, if you want cert-manager, set to some Secret name where TLS certificate and key will be stored. Note that dex.ingress.authHost is required when enabling TLS. If you’re deploying to AWS, you may prefer TLS termination on AWS ELB and keep this value empty.
dex.podAnnotationsobject{}
dex.podDisruptionBudget.maxUnavailablestring""
dex.podDisruptionBudget.minAvailablestring""
dex.ports.grpc.containerPortint5000
dex.ports.grpc.servicePortint5000
dex.ports.metrics.containerPortint5558
dex.ports.metrics.servicePortint37000
dex.ports.web.containerPortint5556
dex.ports.web.servicePortint32000
dex.replicaCountinttaken from .Values.replicaCountNumber of pod replicas
dex.resources.limits.cpustring"100m"
dex.resources.limits.memorystring"50Mi"
dex.resources.requests.cpustring"100m"
dex.resources.requests.memorystring"50Mi"
dex.service.namestring"dex"
dex.service.typestring"ClusterIP"
dex.serviceMonitor.additionalLabelsobject{}
dex.serviceMonitor.enabledboolfalse
dex.serviceMonitor.intervalstring"20s"
dex.serviceMonitor.scrapeTimeoutstring"10s"
dex.uriPrefixstring"/dex"base context path prefix used by Dex to serve its resources
exportController.actuator.portint6581
exportController.existingSecretstring""you can specify existing secret with cloud credentials instead. For s3:// URLs, it mus contain keys access-key-id and secret-access-key
exportController.extraEnvVarslist[]Additional environment variables for example: extraEnvVars: [{"name":"SOME_VAR","value":"some value"}]
exportController.fileStorageBaseUrlstring"/tmp/exports"Base url for export file storage. Can be local directory or S3 bucket s3://.s3-.amazonaws.com/prefix
exportController.globalCspDirectivesobject{}
exportController.image.namestring"export-controller"
exportController.podDisruptionBudget.maxUnavailablestring""
exportController.podDisruptionBudget.minAvailablestring""
exportController.pulsar.exportTabular.messageTTLint300
exportController.pulsar.exportTabular.topicstring"export-tabular.request"
exportController.pulsar.exportVisual.messageTTLint300
exportController.pulsar.exportVisual.topicstring"export-visual.request"
exportController.resources.limits.cpustring"1500m"
exportController.resources.limits.memorystring"900Mi"
exportController.resources.requests.cpustring"150m"
exportController.resources.requests.memorystring"600Mi"
exportController.s3.accessKeystring""AWS access key id of IAM account with access to S3 bucket
exportController.s3.secretKeystring""AWS secret access key of IAM account with access to S3 bucket
exportController.service.externalPortint6580
exportController.service.internalPortint6580
exportController.service.namestring"export-controller"
exportController.service.typestring"ClusterIP"
fullnameOverridestring""If not set, a name is generated using the fullname template.
global.imageRegistrystringnilSet the following variable to your private docker registry if you want to deploy to air-gapped installations. This affects images needed to deploy postgresql-ha subchart.
gracefulShutdownTimeoutSecondsint60Default timeout for a microservice to gracefully stop, i.e. to wait for active requests to finish (in seconds). It might be overridden in component definitions.
grpcServerMaxConnectionAgeint300Maximum time the GRPC connection is kept alive on the server side. After the time elapses the connection is closed. This impacts GRPC load balancing, since client only rediscovers new servers when some connection is closed. In other words the newly spawned GRPC service is discovered after this time in worst case. The value is in seconds. Can be overridden per service.
grpcServerPermitKeepAliveTimeint25Minimum time the GRPC client is allowed sending keep alive to the server. This must be lower than keep alive time on clients (currently 30s by default)
grpcServerPermitKeepAliveWithoutCallsbooltrueWhether GRPC server allows clients to send keep alive when there are no calls.
homeUi.extraEnvVarslist[]Additional environment variables for example: extraEnvVars: [{"name":"SOME_VAR","value":"some value"}]
homeUi.extraVolumeMountslist[]Additional volumes to mount. It should be used along with extraVolumes extraVolumeMounts: - name: “custom-file” mountPath: “/usr/share/nginx/html/file.html” subPath: “file.html”
homeUi.extraVolumeslist[]Additional volumes Object is piped through tpl function, so you can use templating The volume or underlying Secret/ConfigMap must already exist extraVolumes: - name: “custom-file” configMap: name: ‘{{ include “gooddata-cn.fullname” . }}-custom-file’ defaultMode: 420
homeUi.image.namestring"home-ui"
homeUi.podDisruptionBudget.maxUnavailablestring""
homeUi.podDisruptionBudget.minAvailablestring""
homeUi.resources.limits.cpustring"20m"
homeUi.resources.limits.memorystring"20Mi"
homeUi.resources.requests.cpustring"10m"
homeUi.resources.requests.memorystring"15Mi"
homeUi.service.externalPortint9600
homeUi.service.internalPortint9600
homeUi.service.namestring"home-ui"
homeUi.service.typestring"ClusterIP"
image.defaultTagstring"latest"default image tag that will be used on all GoodData.CN apps unless specific per-application tag is specified.
image.dockerhubPrefixstring"docker.io"Registry prefix for DockerHub images. Set to docker.io if your cluster has access to DockerHub either directly or via configured registry proxy On air-gapped installations, set to local registry namespace with pre-pulled images
image.pullPolicystring"Always"
image.repositoryPrefixstring"gooddata"Registry where the GoodData.CN images are stored. Normally it points to GoodData namespace on Docker Hub. Set to repository prefix in local registry if you plan deploying to air-gapped installation
imagePullSecretslist[]List of secret name(s) to be used for pulling images from private registry.
ingress.annotations.“nginx.ingress.kubernetes.io/proxy-body-size”string"20m"
ingress.ingressClassNamestring"nginx"Class of the Ingress controller used for this deployment
ingress.lbProtocolstring"https"This setting informs applications if the load balancer exposes the applications on HTTPS or plain unencrypted HTTP. For production workload, we strongly suggest using HTTPS. For local development purposes (e.g. in k3d cluster), HTTP is sufficient.
jvmOptionsstring"-XX:+ExitOnOutOfMemoryError"
ldmModeler.extraEnvVarslist[]Additional environment variables for example: extraEnvVars: [{"name":"SOME_VAR","value":"some value"}]
ldmModeler.image.namestring"ldm-modeler"
ldmModeler.podDisruptionBudget.maxUnavailablestring""
ldmModeler.podDisruptionBudget.minAvailablestring""
ldmModeler.resources.limits.cpustring"50m"
ldmModeler.resources.limits.memorystring"30Mi"
ldmModeler.resources.requests.cpustring"10m"
ldmModeler.resources.requests.memorystring"15Mi"
ldmModeler.service.externalPortint9400
ldmModeler.service.internalPortint8080
ldmModeler.service.namestring"ldm-modeler"
ldmModeler.service.typestring"ClusterIP"
license.existingSecretstring""
license.keystring"<put-your-license-key-here>"
loggerRingBufferSizeint262144Default Log4J ring buffer size (in bytes).
measureEditor.extraEnvVarslist[]Additional environment variables for example: extraEnvVars: [{"name":"SOME_VAR","value":"some value"}]
measureEditor.image.namestring"measure-editor"
measureEditor.podDisruptionBudget.maxUnavailablestring""
measureEditor.podDisruptionBudget.minAvailablestring""
measureEditor.resources.limits.cpustring"20m"
measureEditor.resources.limits.memorystring"20Mi"
measureEditor.resources.requests.cpustring"10m"
measureEditor.resources.requests.memorystring"10Mi"
measureEditor.service.externalPortint9700
measureEditor.service.internalPortint9700
measureEditor.service.namestring"measure-editor"
measureEditor.service.typestring"ClusterIP"
metadataApi.actuator.portint9008
metadataApi.bootstrap.existingSecretstring""If set, existing secret containing user and password can be used instead of the two values above.
metadataApi.database.existingExporterSecretstring""you can specify custom secret with md database exporter password; the key needs to be “exporter-password”
metadataApi.database.existingSecretstring""you can specify custom secret with md database password; the key needs to be “postgresql-password”
metadataApi.database.exporterPasswordstring"VerySecretPassword"MD access for export views (user ‘md_exporter’)
metadataApi.database.namestring"md"
metadataApi.database.passwordstring""
metadataApi.database.userstring""if user is empty, default postgres user and password is used
metadataApi.extraEnvVarslist[]Additional environment variables for example: extraEnvVars: [{"name":"SOME_VAR","value":"some value"}]
metadataApi.globalCspDirectivesobject{}Additional directives for Content-Security policy. It is a map of keys (CSP directives) and their values. Refer to https://w3c.github.io/webappsec-csp/#csp-directives for list of available directives These directives are merged with a preloaded set of CSP directives essential for basic GoodData.CN operation
metadataApi.image.namestring"metadata-api"
metadataApi.podDisruptionBudget.maxUnavailablestring""
metadataApi.podDisruptionBudget.minAvailablestring""
metadataApi.pulsar.cacheCommand.messageTTLint300
metadataApi.pulsar.cacheCommand.topicstring"metadata.cache-command"
metadataApi.pulsar.dataSourceChange.messageTTLint300
metadataApi.pulsar.dataSourceChange.topicstring"data-source.change"
metadataApi.pulsar.modelUpdate.messageTTLint300
metadataApi.pulsar.modelUpdate.topicstring"metadata.model"
metadataApi.resources.limits.cpustring"2000m"
metadataApi.resources.limits.memorystring"1500Mi"
metadataApi.resources.requests.cpustring"250m"
metadataApi.resources.requests.memorystring"600Mi"
metadataApi.service.externalPortint9007
metadataApi.service.grpcExternalPortint6572
metadataApi.service.grpcInternalPortint6572
metadataApi.service.internalPortint9007
metadataApi.service.namestring"metadata-api"
metadataApi.service.typestring"ClusterIP"
monitoring.tracing.enabledboolfalse
monitoring.tracing.zipkin.hoststring"jaeger-collector"
monitoring.tracing.zipkin.namespacestring"monitoring"
monitoring.tracing.zipkin.portint9411
nameOverridestring""If not set, a name is generated using the name template.
networkPolicy.enabledboolfalseKubernetes Network Policy enablement.
networkPolicy.nginxIngressNamespaceLabelSelectorobject{"kubernetes.io/metadata.name":"ingress-nginx"}Kubernetes Namespace label(s) of Nginx Ingress. Required to allow ingress traffic.
networkPolicy.nginxIngressPodLabelSelectorobject{"app.kubernetes.io/name":"ingress-nginx"}Kubernetes Pod label(s) of Nginx Ingress. Required to allow ingress traffic.
nodeSelectorobject{}Kubernetes nodeSelector labels; applies to all GoodData.CN Pods
organizationController.extraEnvVarslist[]Additional environment variables for example: extraEnvVars: [{"name":"SOME_VAR","value":"some value"}]
organizationController.image.namestring"organization-controller"
organizationController.kubeClientTimeoutint10
organizationController.podDisruptionBudget.maxUnavailablestring""
organizationController.podDisruptionBudget.minAvailablestring""
organizationController.resources.limits.cpustring"50m"
organizationController.resources.limits.memorystring"100Mi"
organizationController.resources.requests.cpustring"10m"
organizationController.resources.requests.memorystring"50Mi"
pdfStaplerService.actuator.portint8287
pdfStaplerService.extraEnvVars[0].namestring"JAVA_OPTS"
pdfStaplerService.extraEnvVars[0].valuestring"-XX:MinRAMPercentage=30.0 -XX:InitialRAMPercentage=30.0 -XX:MaxRAMPercentage=60.0 -XX:+UseG1GC\n"
pdfStaplerService.image.namestring"pdf-stapler-service"
pdfStaplerService.loggingAppenderstring"json"
pdfStaplerService.podDisruptionBudget.maxUnavailablestring""
pdfStaplerService.podDisruptionBudget.minAvailablestring""
pdfStaplerService.resources.limits.cpustring"500m"
pdfStaplerService.resources.limits.memorystring"1024Mi"
pdfStaplerService.resources.requests.cpustring"166m"
pdfStaplerService.resources.requests.memorystring"512Mi"
pdfStaplerService.service.grpcExternalPortint6889
pdfStaplerService.service.grpcInternalPortint6889
pdfStaplerService.service.namestring"pdf-stapler-service"
pdfStaplerService.service.typestring"ClusterIP"
platform_limits.max_dimension_sizeint10000Max Single Dimension Size. When query returns bigger dimension, the computation fails.
platform_limits.max_result_bytesint100000000The max size of the raw result (bytes). Getting bigger results from DB end with computation failure.
platform_limits.max_result_cell_countint1000000Max Result Cell Count how many cells are allowed in a returned result.
podDisruptionBudget.maxUnavailablestring""general maxUnavailable podDisruptionBudget, unless overridden per component
podDisruptionBudget.minAvailablestring""general minAvailable podDisruptionBudget, unless overridden per component
podMonitor.additionalLabelsobject{}
podMonitor.enabledboolfalse
podMonitor.intervalstring"20s"
podMonitor.pathstring"/actuator/prometheus"
podMonitor.portstring"actuator"
podMonitor.scrapeTimeoutstring"10s"
podSecurityContextobject{"runAsNonRoot":true}Kubernetes Pod Security Context settings.
postgresql-ha.metrics.enabledbooltrue
postgresql-ha.nameOverridestring"db"
postgresql-ha.pgpool.adminPasswordstring"pgpooladmin"
postgresql-ha.pgpool.customUsers.passwordsstring""Define comma separated passwords for above mentioned users - applicable when you define dedicated users for Dex, MetadataApi and SqlExecutor databases.
postgresql-ha.pgpool.customUsers.usernamesstring""Define comma separated users - applicable when you define dedicated users for Dex, MetadataApi and SqlExecutor databases.
postgresql-ha.pgpool.customUsersSecretstring""You can provide secret with ‘usernames’ and ‘passowords’ in the same format as mentioned above.
postgresql-ha.pgpool.maxPoolint4
postgresql-ha.pgpool.numInitChildrenint70
postgresql-ha.pgpool.replicaCountint2
postgresql-ha.postgresql.existingSecretstring""If set, existing secret containing password and repmgrPassword can be used. See more details in the postgresql chart mentioned above.
postgresql-ha.postgresql.passwordstring"secret"
postgresql-ha.postgresql.repmgrPasswordstring"repmgrpassword"
postgresql-ha.postgresql.usernamestring"postgres"
postgresql-ha.volumePermissions.enabledbooltrue
prometheusRule.enabledboolfalse
prometheusRule.labelsobject{}
prometheusRule.ruleslist[]
pulsarJob.extraEnvVarslist[]Additional environment variables for example: extraEnvVars: [{"name":"SOME_VAR","value":"some value"}]
pulsarJob.namespacePerReleasebooltrueIf false, uncomment and set the ‘tenant’ and ‘namespace’ below. If true, the name of Pulsar’s tenant and namespace will be generated from the k8s namespace and release name. Note that if you set fixed names, you must avoid conflicts among multiple instances of this chart sharing the same Pulsar cluster.
redis-ha.exporter.enabledbooltrue
redis-ha.exporter.imagestring"oliver006/redis_exporter"set to repository in local registry for air-gapped installations
redis-ha.image.repositorystring"redis"set to repository in local registry for air-gapped installations
redis-ha.redis.config.maxmemorystring"100m"This value should be tuned according to the real load
redis-ha.redis.config.maxmemory-policystring"allkeys-lru"
replicaCountint2Default replica count (if not overridden for specific component).
resources.limits.cpustring"500m"Maximum CPU timeshare per pod
resources.limits.memorystring"500Mi"Maximum memory per pod
resources.requests.cpustring"150m"Scheduled CPU timeshare per pod
resources.requests.memorystring"250Mi"Scheduled memory per pod
resultCache.actuator.portint9041
resultCache.extraEnvVarslist[]Additional environment variables for example: extraEnvVars: [{"name":"SOME_VAR","value":"some value"}]
resultCache.image.namestring"result-cache"
resultCache.podDisruptionBudget.maxUnavailablestring""
resultCache.podDisruptionBudget.minAvailablestring""
resultCache.pulsar.deadLetter.topicstring"result.xtab.DLQ"
resultCache.pulsar.messageTTLint300
resultCache.pulsar.topicstring"result.xtab"
resultCache.resources.limits.cpustring"1500m"
resultCache.resources.limits.memorystring"900Mi"
resultCache.resources.requests.cpustring"150m"
resultCache.resources.requests.memorystring"600Mi"
resultCache.service.externalPortint6567
resultCache.service.internalPortint6567
resultCache.service.namestring"result-cache"
resultCache.service.typestring"ClusterIP"
scanModel.actuator.portint9061
scanModel.extraEnvVarslist[]Additional environment variables for example: extraEnvVars: [{"name":"SOME_VAR","value":"some value"}]
scanModel.image.namestring"scan-model"
scanModel.podDisruptionBudget.maxUnavailablestring""
scanModel.podDisruptionBudget.minAvailablestring""
scanModel.resources.limits.cpustring"2000m"
scanModel.resources.limits.memorystring"1000Mi"
scanModel.resources.requests.cpustring"150m"
scanModel.resources.requests.memorystring"350Mi"
scanModel.service.externalPortint9060
scanModel.service.internalPortint9060
scanModel.service.namestring"scan-model"
scanModel.service.typestring"ClusterIP"
securityContextobject{}Kubernetes Security Context settings.
service.postgres.existingSecretstring""You can define your own existing secret here containing postgresql-password key with the actual password. Not applicable when deployPostgresHA: true.
service.postgres.hoststring""Here you should define basic parameters for connecting to external, Postgresql-compatible DB engine (like RDS) where metadata and application configuration will be stored. Mandatory when you set deployPostgresHA: false above. When using built-in Postgresql HA chart, the configuration is retrieved automatically and these settings are not used.
service.postgres.passwordstring"topsecret"
service.postgres.portint5432
service.postgres.usernamestring"postgres"
service.pulsar.brokerPortint6650
service.pulsar.hoststring"pulsar-broker.pulsar"If you have Apache Pulsar deployed externally, set host to fully qualified name of the broker. For default setup, when Pulsar is deployed to Kubernetes cluster using Helm chart, using pattern -broker. should be OK and this value doesn’t need to be changed.
service.pulsar.wsPortint8080
service.redis.clusterModeboolfalseWhen true, it will use Redis cluster protocol for communication. Useful for HA deployment.
service.redis.existingSecretstring""You can define your own existing secret here containing redis-password key with the actual password
service.redis.hostslist[]Used when using external Redis service (like Elasticache on AWS, Memorystore on GCP or so). Format is a list of hostnames where the Redis is running.
service.redis.passwordstring""Password for accessing Redis if the Redis authentication is turned on
service.redis.portint6379
service.redis.useSSLboolfalseUse SSL for communication with Redis cache
serviceAccount.annotationsobject{}Optional annotations for service account. Useful for IAM role assignment.
serviceAccount.createbooltrueSpecifies whether a service account should be created.
serviceAccount.nameboolnilThe name of the service account to use. If not set and create is true, a name is generated using the fullname template.
sqlExecutor.actuator.portint9101
sqlExecutor.database.existingSecretstring""you can specify custom secret with sqlExecutor database password; the key needs to be “postgresql-password”
sqlExecutor.database.namestring"execution"
sqlExecutor.database.passwordstring""
sqlExecutor.database.userstring""if user is empty, default postgres user and password is used
sqlExecutor.extraDriversInitContainerstring""see documentation how to mount the image with extra drivers to GoodData.CN
sqlExecutor.extraEnvVarslist[]Additional environment variables for example: extraEnvVars: [{"name":"SOME_VAR","value":"some value"}]
sqlExecutor.image.namestring"sql-executor"
sqlExecutor.podDisruptionBudget.maxUnavailablestring""
sqlExecutor.podDisruptionBudget.minAvailablestring""
sqlExecutor.pulsar.deadLetter.topicstring"sql.select.DLQ"
sqlExecutor.pulsar.topicstring"sql.select"
sqlExecutor.resources.limits.cpustring"1500m"
sqlExecutor.resources.limits.ephemeral-storagestring"300Mi"
sqlExecutor.resources.limits.memorystring"900Mi"
sqlExecutor.resources.requests.cpustring"150m"
sqlExecutor.resources.requests.ephemeral-storagestring"300Mi"
sqlExecutor.resources.requests.memorystring"600Mi"
sqlExecutor.service.externalPortint6570
sqlExecutor.service.internalPortint6570
sqlExecutor.service.namestring"sql-executor"
sqlExecutor.service.typestring"ClusterIP"
tabularExporter.extraEnvVarslist[]Additional environment variables for example: extraEnvVars: [{"name":"SOME_VAR","value":"some value"}]
tabularExporter.image.namestring"tabular-exporter"
tabularExporter.podDisruptionBudget.maxUnavailablestring""
tabularExporter.podDisruptionBudget.minAvailablestring""
tabularExporter.resources.limits.cpustring"1500m"
tabularExporter.resources.limits.memorystring"900Mi"
tabularExporter.resources.requests.cpustring"150m"
tabularExporter.resources.requests.memorystring"600Mi"
tabularExporter.service.externalPortint6789
tabularExporter.service.internalPortint6789
tabularExporter.service.namestring"tabular-exporter"
tabularExporter.service.typestring"ClusterIP"
telemetryEnabledbooltrueIf set to true, deployed services will report telemetry data to https://matomo.anywhere.gooddata.com/matomo.php
tools.extraEnvVarslist[]Additional environment variables for example: extraEnvVars: [{"name":"SOME_VAR","value":"some value"}]
tools.image.namestring"tools"
tools.replicaCountint1
tools.resources.limits.cpustring"200m"
tools.resources.limits.memorystring"200Mi"
tools.resources.requests.cpustring"10m"
tools.resources.requests.memorystring"5Mi"
topologySpreadConstraints.enabledboolfalseenables topologySpreadConstraints for all GoodData.CN Pods
topologySpreadConstraints.maxSkewint1Degree of uneven pod distribution
topologySpreadConstraints.topologyKeystring"kubernetes.io/hostname"Topology key
topologySpreadConstraints.whenUnsatisfiablestring"ScheduleAnyway"What to do when constraint is not met. Either “DoNotSchedule” or “ScheduleAnyway”
visualExporterChromium.image.namestring"visual-exporter-chromium"
visualExporterChromium.remoteDebuggingPortint9222
visualExporterChromium.resources.limits.cpuint2
visualExporterChromium.resources.limits.memorystring"2.5Gi"
visualExporterChromium.resources.requests.cpustring"666m"
visualExporterChromium.resources.requests.memorystring"2Gi"
visualExporterProxy.image.namestring"visual-exporter-proxy"
visualExporterProxy.resources.limits.cpustring"500m"
visualExporterProxy.resources.limits.memorystring"300Mi"
visualExporterProxy.resources.requests.cpustring"166m"
visualExporterProxy.resources.requests.memorystring"200Mi"
visualExporterService.actuator.portint8287
visualExporterService.extraEnvVars[0].namestring"JAVA_OPTS"
visualExporterService.extraEnvVars[0].valuestring"-XX:MinRAMPercentage=30.0 -XX:InitialRAMPercentage=30.0 -XX:MaxRAMPercentage=60.0 -XX:+UseG1GC\n"
visualExporterService.image.namestring"visual-exporter-service"
visualExporterService.loggingAppenderstring"json"
visualExporterService.podDisruptionBudget.maxUnavailablestring""
visualExporterService.podDisruptionBudget.minAvailablestring""
visualExporterService.resources.limits.cpustring"500m"
visualExporterService.resources.limits.memorystring"1024Mi"
visualExporterService.resources.requests.cpustring"166m"
visualExporterService.resources.requests.memorystring"512Mi"
visualExporterService.service.externalPortint8080
visualExporterService.service.internalPortint8080
visualExporterService.service.namestring"visual-exporter-service"
visualExporterService.service.typestring"ClusterIP"
webComponents.extraEnvVarslist[]Additional environment variables for example: extraEnvVars: [{"name":"SOME_VAR","value":"some value"}]
webComponents.image.namestring"web-components"
webComponents.podDisruptionBudget.maxUnavailablestring""
webComponents.podDisruptionBudget.minAvailablestring""
webComponents.resources.limits.cpustring"20m"
webComponents.resources.limits.memorystring"20Mi"
webComponents.resources.requests.cpustring"10m"
webComponents.resources.requests.memorystring"10Mi"
webComponents.service.externalPortint9800
webComponents.service.internalPortint8080
webComponents.service.namestring"web-components"
webComponents.service.typestring"ClusterIP"