Skip to main content

Helm values.yaml Reference

Environment Variables (Helm) covers only what ends up as a container env var in the shared getapp-<namespace> ConfigMap — the config: block of values.yaml. That's one section of six. This page is the complete reference: every top-level key in helm-chart/values.yaml, organized the same way the file organizes itself.

Source of truth

Reconstructed directly from helm-chart/values.yaml (1080 lines) in getappsh/getapp-release-control. The file groups itself into six lettered sections — A–F — via its own comments; this page mirrors that.

[A] Basic​

KeyDefaultDescription
deploymentModegetappgetapp | getmap | both — which stack(s) to deploy
routeMainUrlapps.getapp.shBase domain; every service is exposed at <service>-<namespace>.<routeMainUrl>
nameSpacegetapp-globalDeprecated — no effect, the chart uses the Helm release namespace
getappReleasee.g. 1.4.33-getapp-maalot-1.2Overall release version label (surfaced as getappRelease on every resource)
repositoryharbor.getapp.sh/getapp-dev/Image registry prefix for all first-party images
tag.*per-serviceImage tag for each service: api, delivery, deploy, discovery, offering, projectmanagment, upload, dashboard, getmap, docs, sbomgenerator, agentWatch, dashboardGetmap
image.pullPolicyIfNotPresentPull policy applied to first-party images

[B] Air-gapped & OpenShift​

KeyDefaultDescription
isOpenShiftfalseUse OpenShift Routes instead of Ingress, and OpenShift security contexts
airGapedEnv.enabledtrueBakes Kafka/Postgres CA + client cert/key material into every pod (see below) and sets NODE_TLS_REJECT_UNAUTHORIZED=0
airGapedEnv.kafkaKeys.configMapName / .mountPathkafka-keys-prod / /kafka-keysWhere the Kafka TLS ConfigMap is named/mounted
airGapedEnv.kafkaKeys.files—filename: PEM contents map — client cert/key only; CA comes from caCert.certificate
airGapedEnv.postgresKeys.configMapName / .mountPathpostgres-keys / /postgres-keysWhere the Postgres TLS ConfigMap is named/mounted
airGapedEnv.postgresKeys.files—Same pattern as Kafka, for the Postgres client cert/key
extraCaCert.enabled / .secretNamefalse / extra-ca-certMount an extra CA cert (NODE_EXTRA_CA_CERT) from a Secret you provide
resources.enabledfalseWhen true, applies resources.cpu/resources.memory as limits (requests = 1/4 CPU, same memory) to every GetApp deployment

[C] GetApp infrastructure​

Bundled dev/test infra — disable (enabled: false) and point at your own in production.

SectionKey highlights
postgresenabled, host, database, user, password, port, image.tag, replicas, persistence.size
kafkaenabled, host, port, brokers (comma-separated, overrides host/port when set), image.tag
minioenabled, host, port, secret.rootUser/rootPassword, ingress.consoleHost/apiHost/proxyBodySize, persistence.size, resources.*; when disabled: endpoint.internal/endpoint.external for an external S3
keycloakenabled, hostname (external override), host, port, admin.username/password, realm, clientId, secretKey, cookieKey, image.tag, replicas, persistence.size, livenessProbe/readinessProbe, resources.*
matomoenabled (default false)
pgadminenabled (default false), replicas, image.tag, defaultEmail/defaultPassword, serverMode, persistence.size. Exposed at pgadmin-<namespace>.<routeMainUrl>
elasticsearchenabled (default false), host, httpPort/transportPort, image.tag, javaOpts, persistence.size, resources.*
kibanaenabled (default false), host/port/ingressHost, image.tag, resources.*. Requires elasticsearch. Exposed at kibana-<namespace>.<routeMainUrl>
victoriametricsenabled (default false), host/port, retentionPeriod, persistence.size, resources.*
grafanaenabled (default false), host/port/ingressHost, admin.user/password, auth.anonymousEnabled/anonymousOrgRole, persistence.size, resources.*. Exposed at grafana-<namespace>.<routeMainUrl>

Third-party images (elasticsearch/kibana/victoriametrics/grafana) default to .Values.repository like everything else — set <service>.image.repository to pull from elsewhere instead.

[D] Other GetApp services​

KeyDefaultDescription
vault.enabledfalseDeploy HashiCorp Vault (dev mode — in-memory, no HA) for GitOps credential storage
vault.devRootTokengetapp-vault-tokenStatic dev root token — change before sharing an environment
vault.mountPathgetapp-secretsSecrets engine mount path
agentWatch.enabledfalseDeploy the Agent Watch microservice (monitors/manages agents)
dashboardGetmap.enabledfalseDeploy the Dashboard GetMap frontend
docs.enabledtrueDeploy this docs site
sbomGenerator.enabledtrueDeploy the SBOM Generator (only when deploymentMode is getapp or both)

[E] ConfigMap values​

Each block here becomes one ConfigMap's data. config (→ configmap-getapp.yaml) is the big shared one already fully documented on Environment Variables (Helm) — not repeated here. The rest are service-specific and previously undocumented:

dashboard → configmap-dashboard.yaml​

KeyDescription
nextauthSecretNextAuth.js signing secret — change in production
sessionMaxAgeSession max age, seconds (default 1800 = 30 min)
probes.enabledAdds a readinessProbe hitting / on port 3002
resources.*CPU/memory requests and limits for the dashboard container

getmap → configmap-getmap.yaml​

KeyDescription
libot.discoveryUrl / .exportUrl / .tokenLibot discovery/export service URLs + auth token (all required)
libot.callbackUrlCallback URL given to libot; auto-generated from namespace + routeMainUrl if empty
productFiltering.*mcCswRefDate, targetResolution, mcMinResolutionDeg, mcMaxResolutionDeg
wfs.*productsCreationMethod (single|polygonParts), polygonPartsWfs, maneuverArea, sequentialProductId — the last three required only when polygonParts
service.*updateGobTime (cron), productsStaleAfter, useProductsCache, periodicGetMapStatus, mapRetryExponentialTimes, mapRetryWaitTime, mapRetryCount, updateJobMapTake
other.libotEmulator / .proxyDownloadBaseUrlEmulation mode toggle; base URL for the download proxy
caution

deployment-getmap.yaml's configMapRef for getmap-<namespace> is mis-indented (sits under env: instead of envFrom:), so in the current chart these values likely never actually reach the getmap container. Confirmed by inspection, not yet fixed — see the note on Environment Variables (Helm).

dashboardGetmapConfig → configmap-dashboard-getmap.yaml​

KeyDescription
grafanaDashboardUrl / matomoDashboardUrlLinks shown in the Dashboard GetMap UI
isDeviceAuthEnabledEnable device authentication
loginUsername / loginPasswordDefault login credentials (empty = no default)
maxLastConnectionDays / maxLastUpdateDaysStaleness thresholds shown as warnings
settingsPasswordPassword gating the settings screen (empty = disabled)

agentWatchConfig → configmap-agent-watch.yaml​

The largest of the service-specific blocks (~35 keys). Grouped by what it configures:

GroupKeys
GetApp API authgetappUsername, getappPassword
DatabasedatabaseName, databaseSynchronize, databaseSslEnabled, databaseSslCaCert, databaseSslClientCert, databaseSslClientKey, databaseSslRejectUnauthorized
Monitoring cadencepollIntervalMinutes, deliveryEscalationHours, offeringWarningHours, agentDownWarningDays, agentDownErrorDays
PrometheusprometheusEnabled, prometheusMetricsPath
Splunk HECsplunkHecEnabled, splunkHecUrl, splunkHecToken, splunkHecIndex, splunkHecSource, splunkHecSourcetype
NotificationsnotificationErrorThreshold, webhookUrl, slackWebhookUrl, emailSmtpHost, emailSmtpPort, emailSmtpSecure, emailFrom, emailTo, emailPassword
Log providerlogProvider (splunk|opensearch|loki), plus matching splunkUrl/splunkToken, opensearchUrl/opensearchUsername/opensearchPassword, or lokiUrl
ServercorsOrigin, logLevel

cosign → configmap-cosign.yaml​

KeyDescription
privateKeyEncrypted Sigstore private key (PEM) used to sign release artifacts
publicKeyMatching public key, used by agents to verify signatures

caCert → configmap-ca.yaml​

KeyDescription
certificateShared CA bundle (PEM) — sourced by extraCaCert and the air-gapped Kafka/Postgres key bundles

[F] Cluster config​

KeyDefaultDescription
replicaCount1Replica count for all GetApp microservices
revisionHistoryLimit3Old ReplicaSets retained for rollback
ingress.classNamenginxIngress class (non-OpenShift only)
ingress.annotations—nginx-ingress annotations applied to every Ingress (SSL redirect, proxy buffer sizes, timeouts, ...)
hpa.enabledfalseGlobal HPA switch — must be true and the per-service switch below to actually enable autoscaling for that service
hpa.<service>.*enabled: false, minReplicas: 1, maxReplicas: 10, cpuUtilization: 70, memoryUtilization: 70Per-service HPA, for: api, delivery, deploy, discovery, getmap, offering, projectManagement, sbomGenerator, upload
globalDashboard.*—Separate "getapp-pro" global dashboard app: enabled, image.{name,tag}, nextauthSecret, sessionMaxAge, demoMode, adminEmail/adminPassword, nodeTlsRejectUnauthorized, basePath, nextauthUrl, publicIssuer, issuer, resources

See also​