Skip to main content

Server Environment Variables (Helm)

Every server-side microservice (api, delivery, deploy, discovery, offering, project-management, sbom-generator, docs, ...) reads its configuration from a single shared ConfigMap, getapp-<namespace>, injected via envFrom in each Deployment. This page documents what that ConfigMap actually contains and where each value comes from, as templated by the Helm chart (getappsh/getapp-release-control, helm-chart/templates/getapp/configmap-getapp.yaml).

For a step-by-step deployment walkthrough, see Helm Deployment & ArgoCD. This page is the reference for what ends up in the ConfigMap, not how to run the install.

Scope — why this list is shorter than "Environment Variables"

This page covers one ConfigMap (getapp-<namespace>) — the one shared by the api-family services. The Environment Variables section is generated from a different, broader source that catalogs every process.env.* read across the whole platform, including services with their own separate ConfigMaps: getmap-<namespace>, dashboard-<namespace>, dashboard-getmap-<namespace>, and agent-watch-<namespace>. Those are now documented too — see the values.yaml Reference, which covers every section of the Helm chart's values.yaml, not just this one ConfigMap.

Source of truth

Reconstructed directly from configmap-getapp.yaml and values.yaml in the Helm chart repo. Most values are computed as <service>-<namespace>.<routeMainUrl> — set routeMainUrl once in your values file and every hostname below derives from it.

Air-gapped / disconnected deployments​

Only present when airGapedEnv.enabled (or global.enabled) is true.

VariableSourceDescription
TARGETconfig.targetDeployment target identifier
DEPLOY_ENVconfig.deployEnvDeployment environment identifier (hidden when global.hideDeployEnv)
DB_KEY_PATHairGapedEnv.postgresKeys.*Path to the Postgres client key
DB_PEM_PATHairGapedEnv.postgresKeys.mountPathPath to the Postgres CA bundle
DB_CERT_PATHairGapedEnv.postgresKeys.*Path to the Postgres client cert
KAFKA_PEM_PATH / KAFKA_CERT_PATH / KAFKA_KEY_PATHairGapedEnv.kafkaKeys.*Kafka mTLS CA/cert/key paths
NODE_TLS_REJECT_UNAUTHORIZEDcomputedSet to '0' (disabled) whenever low-mode, air-gapped, or global mode is on
NODE_EXTRA_CA_CERTextraCaCert.enabledPath to an extra CA cert (/etc/ssl/ca.crt) when enabled

Keycloak / Auth​

VariableSourceDescription
AUTH_SERVER_URLkeycloak.hostname or keycloak.host + routeMainUrlKeycloak base URL used by the auth flow
REALM / KEYCLOAK_REALMkeycloak.realmKeycloak realm
CLIENT_ID / KEYCLOAK_CLIENT / KEYCLOAK_CLIENT_IDkeycloak.clientIdKeycloak client ID
SECRET_KEYkeycloak.secretKeyKeycloak client secret
COOKIE_KEYkeycloak.cookieKeySession cookie signing key
KEYCLOAK_URLkeycloak.hostname or keycloak.host + routeMainUrlKeycloak base URL used by the permissions module
KEYCLOAK_ADMIN_USER / KEYCLOAK_ADMIN_PASSWORDkeycloak.admin.*Keycloak admin credentials (realm/user management)
ENABLE_PREMISSIONSconfig.enablePremissionsFeature flag for the permissions module

Dashboard​

VariableSourceDescription
DASHBOARD_URLcomputed: dashboard-<namespace>.<routeMainUrl>Public Dashboard URL. Used by the docs site's Dashboard link
note

DASHBOARD_URL is pending merge into the Helm chart — getappsh/getapp-release-control#22.

Kafka​

VariableSourceDescription
KAFKA_BROKER_URLkafka.enabled → in-cluster service; else kafka.brokers or kafka.host/kafka.portKafka bootstrap broker(s)
KAFKAJS_NO_PARTITIONER_WARNINGconfig.kafkajsNoPartitionerWarningSuppresses the KafkaJS default-partitioner deprecation warning

Microservice client​

VariableSourceDescription
MICRO_SERVICE_TYPEconfig.microServiceType (forced to SOCKET when lowMode.enabled)Inter-service transport: KAFKA or SOCKET
MICROSERVICE_RESPONSE_WAIT_TIMEconfig.microserviceResponseWaitTimeTimeout waiting for a microservice response
{DELIVERY,DEPLOY,DISCOVERY,OFFERING,PROJECT,UPLOAD,GETMAP,SBOM_GENERATOR}_PORTconfig.*PortPer-service SOCKET-mode listen ports
{DELIVERY,DEPLOY,DISCOVERY,OFFERING,PROJECT,UPLOAD,GETMAP,SBOM_GENERATOR}_HOSTconfig.*HostPer-service SOCKET-mode hostnames

Postgres​

VariableSourceDescription
POSTGRES_HOST / POSTGRES_PORTpostgres.host / postgres.portPostgres connection endpoint
POSTGRES_USER / POSTGRES_PASSWORDpostgres.user / postgres.passwordPostgres credentials
POSTGRES_DBpostgres.databaseDatabase name

JFrog Artifactory​

VariableSourceDescription
JFROG_BASE_URL / JFROG_REPOconfig.jfrogBaseUrl / config.jfrogRepoArtifactory base URL and repo
JFROG_USER_NAME / JFROG_PASSWORDconfig.jfrogUserName / config.jfrogPasswordArtifactory credentials

Security​

VariableSourceDescription
DEVICE_SECRETconfig.deviceSecretShared secret for device authentication
JWT_SECRET / JWT_EXPIRATIONconfig.jwtSecret / config.jwtExpirationJWT signing secret and token lifetime

AWS / uploads​

VariableSourceDescription
AWS_REGION / BUCKET_NAMEconfig.awsRegion / config.bucketNameAWS region and S3 bucket
UPLOAD_URL_EXPIRE / DOWNLOAD_URL_EXPIREconfig.uploadUrlExpire / config.downloadUrlExpirePresigned URL TTLs
MULTIPART_UPLOAD_ENABLEDconfig.multipartUploadEnabledEnable multipart upload for large artifacts
MULTIPART_THRESHOLD_MB / MULTIPART_PART_SIZE_MBconfig.multipartThresholdMb / config.multipartPartSizeMbMultipart threshold and chunk size
MULTIPART_UPLOAD_URL_EXPIREconfig.multipartUploadUrlExpirePresigned URL TTL for multipart parts

S3 / MinIO​

VariableSourceDescription
S3_ENDPOINT_INTERNALminio.enabled → computed <minio.ingress.apiHost>-<namespace>.<routeMainUrl>; else minio.endpoint.internalS3/MinIO endpoint used by in-cluster services
S3_ENDPOINT_EXTERNALsame, or minio.endpoint.externalS3/MinIO endpoint used for externally-facing URLs (e.g. presigned download links)
ACCESS_KEY_ID / SECRET_ACCESS_KEYminio.secret.rootUser / minio.secret.rootPasswordMinIO/S3 credentials
MINIO_USE_SSLconfig.minioUseSslUse TLS when talking to MinIO
RPC_PAYLOAD_VERSIONconfig.rpcPayloadVersionPayload version for the RPC/messaging layer

Server API URL​

VariableSourceDescription
SERVER_API_URLcomputed: https://api-<namespace>.<routeMainUrl>Public server base URL. Used by the docs site to build its Swagger links
SERVER_URLcomputed: api-<namespace>.<routeMainUrl>/api/Internal-use base URL for integration test scripts (no scheme, /api/ suffix — not meant for external links)
note

SERVER_API_URL is pending merge into the Helm chart — getappsh/getapp-release-control#23.

Integration test config​

VariableSourceDescription
TEST_USERNAME / TEST_PASSWORDconfig.testUsername / config.testPasswordCredentials used by the e2e/integration test suite
COMPONENT_NAME / COMPONENT_DESCRIPTIONconfig.componentName / config.componentDescriptionDefault component metadata used in tests
RELEASE_NOTEconfig.releaseNoteDefault release note used in tests
MIGRATION_RUNconfig.migrationRunWhether tests trigger a migration run
PRODUCT_IDconfig.productIdDefault product ID used in tests
BOUNDING_BOXconfig.boundingBoxDefault geo bounding box used in map-related tests

Other​

VariableSourceDescription
LOGGER_FORMATconfig.loggerFormatLog output format

HashiCorp Vault​

Only present when vault.enabled.

VariableSourceDescription
VAULT_ADDRcomputed: in-cluster service DNSVault address (GitOps credential storage)
VAULT_DEV_ROOT_TOKEN_IDvault.devRootTokenVault dev root token
VAULT_MOUNT_PATHvault.mountPathSecrets engine mount path

Monitoring & logging​

Each var only present when its service is .enabled.

VariableSourceDescription
ELASTICSEARCH_NODEelasticsearch.host / elasticsearch.httpPortElasticsearch endpoint
KIBANA_URLkibana.host / kibana.portKibana endpoint
VICTORIA_METRICS_URLvictoriametrics.host / victoriametrics.portVictoriaMetrics endpoint
GRAFANA_URLgrafana.host / grafana.portGrafana endpoint

See also​