helm: split server and telemetry values and fix default values (MAPCO-11633) - #37
Open
CL-SHLOMIKONCHA wants to merge 4 commits into
Open
CL-SHLOMIKONCHA wants to merge 4 commits into
CL-SHLOMIKONCHA wants to merge 4 commits into
Conversation
Read opentelemetryOptions.url from OTLP_LOGGER_ENDPOINT_URL and resourceAttributes from OTEL_RESOURCE_ATTRIBUTES, matching the helm configmap and the commonBoilerplateV3 schema. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…default values Align the chart with ts-server-boilerplate: - replace the flat env server/logger keys with a server scope (port, targetPort, protocol, requestPayloadLimit, responseCompressionEnabled) and a telemetry scope (logger, tracing); the remaining application keys stay under env - rename logger keys to level and prettyPrint to match the config schema - export the otlp logger url as OTLP_LOGGER_ENDPOINT_URL and resource attributes as OTEL_RESOURCE_ATTRIBUTES in key=value,key=value format - always export OPENTELEMETRY_LOGGING_ENABLED and TELEMETRY_TRACING_ENABLED, urls only when enabled - move global overrides under global.telemetry; only the tracing and otlp logger urls are overridable from global and take precedence over chart values, enabled flags stay chart-level - drop the common.tracing/openTelemetryOptions.merged helpers - remove the metrics values as the boilerplate did: nothing reads telemetry.metrics and prometheus annotations come from mclabels Default values (resolve the raster-ingestion umbrella TODOs): - imagePullPolicy: IfNotPresent (was Always) - configManagement.offlineMode: true (was false) - db.schema: polygon_parts (was empty) Also fix the global block: serviceUrls, geoserver, db, ca and ingress were indented under mclabels instead of global, which made the chart fail to render on its own (nil pointer on global.ca). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
almog8k
approved these changes
Sep 14, 2026
Aligns with ts-server-boilerplate#477: loggerConfig already carries prettyPrint, so spreading it is enough. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related issues: MAPCO-11633, raster-ingestion umbrella chart TODOs (
helm-charts-new→charts/raster-ingestion/values.yaml), site-valuesraster/ingestion/qa.yaml, MapColonies/ts-server-boilerplate#476 (MAPCO-11622)Further information:
Default values (resolve the raster-ingestion
# TODOoverrides)imagePullPolicyAlwaysIfNotPresentconfigManagement.offlineModefalsetruedb.schema''polygon_partsdb.dbType''postgislocalhosturls, as in the boilerplate)Also fixes the
globalblock ofvalues.yaml:serviceUrls,geoserver,db,caandingresswere indented undermclabelsinstead ofglobal, so the chart could not render standalone (nil pointer evaluating interface {}.secretNameonglobal.ca).helm lintnow passes without overrides.Server / telemetry split (mirrors ts-server-boilerplate#476)
envblock: aserverscope (port,targetPort,protocol,requestPayloadLimit,responseCompressionEnabled) and atelemetryscope (logger,tracing). The remaining application keys (disableHttpClientLogs,httpRetry,srs,numOfDecimals,wfsMaxFeatures) stay underenv, unchanged.level/prettyPrint;logger.opentelemetryOptionsholdsenabled,urland optionalresourceAttributes.OTLP_LOGGER_ENDPOINT_URLand resource attributes asOTEL_RESOURCE_ATTRIBUTES(key=value,key=value), the names thecommonBoilerplateV3schema and the OpenTelemetry SDK read.config/custom-environment-variables.jsonmaps them accordingly.OPENTELEMETRY_LOGGING_ENABLEDandTELEMETRY_TRACING_ENABLEDare always exported with their value; urls only when enabled.global.telemetrywith the same hierarchy. Only the tracing and OTLP logger urls are overridable from global and take precedence over chart values; enabled flags stay chart-level.common.tracing.mergedandcommon.openTelemetryOptions.mergedhelpers removed.metricsvalues are removed entirely, as in the boilerplate: nothing in the service readstelemetry.metrics(the service exposes prom-client metrics on/metricsregardless),TELEMETRY_METRICS_*were never exported, and the pod Prometheus annotations come from mclabels.Breaking for consumers: umbrella charts and site-values setting
env.port,env.targetPort,env.protocol,env.requestPayloadLimit,env.responseCompressionEnabled,env.logLevel,env.logPrettyPrintEnabled,env.openTelemetryOptions.*,tracing.*,metrics.*,global.tracing.*,global.metrics.*orglobal.openTelemetryOptions.*must move toserver.*,telemetry.*andglobal.telemetry.*. Known spots: raster-ingestiongeoserver-api.imagePullPolicy,geoserver-api.configManagement.offlineMode,geoserver-api.db.schemaandgeoserver-api.db.dbType(can be dropped, now defaults); site-values qageoserver-api.imagePullPolicy(can be dropped).🤖 Generated with Claude Code