Skip to content

helm: split server and telemetry values and fix default values (MAPCO-11633) - #37

Open
CL-SHLOMIKONCHA wants to merge 4 commits into
masterfrom
fix/helm-default-values
Open

CL-SHLOMIKONCHA wants to merge 4 commits into
masterfrom
fix/helm-default-values

Conversation

@CL-SHLOMIKONCHA

@CL-SHLOMIKONCHA CL-SHLOMIKONCHA commented Sep 10, 2026 •

Copy link
Copy Markdown
Contributor
Question Answer
Bug fix ✔
New feature ✖
Breaking change ✔
Deprecations ✖
Documentation ✖
Tests added ✖
Chore ✖

Related issues: MAPCO-11633, raster-ingestion umbrella chart TODOs (helm-charts-new → charts/raster-ingestion/values.yaml), site-values raster/ingestion/qa.yaml, MapColonies/ts-server-boilerplate#476 (MAPCO-11622)

Further information:

Default values (resolve the raster-ingestion # TODO overrides)

Key Before After
imagePullPolicy Always IfNotPresent
configManagement.offlineMode false true
db.schema '' polygon_parts
db.dbType '' postgis
tracing / OpenTelemetry logging disabled enabled (localhost urls, as in the boilerplate)

Also fixes the global block of values.yaml: serviceUrls, geoserver, db, ca and ingress were indented under mclabels instead of global, so the chart could not render standalone (nil pointer evaluating interface {}.secretName on global.ca). helm lint now passes without overrides.

Server / telemetry split (mirrors ts-server-boilerplate#476)

  • The server and logger keys leave the flat env block: a server scope (port, targetPort, protocol, requestPayloadLimit, responseCompressionEnabled) and a telemetry scope (logger, tracing). The remaining application keys (disableHttpClientLogs, httpRetry, srs, numOfDecimals, wfsMaxFeatures) stay under env, unchanged.
  • Logger keys renamed to level / prettyPrint; logger.opentelemetryOptions holds enabled, url and optional resourceAttributes.
  • The OTLP logger url is exported as OTLP_LOGGER_ENDPOINT_URL and resource attributes as OTEL_RESOURCE_ATTRIBUTES (key=value,key=value), the names the commonBoilerplateV3 schema and the OpenTelemetry SDK read. config/custom-environment-variables.json maps them accordingly.
  • OPENTELEMETRY_LOGGING_ENABLED and TELEMETRY_TRACING_ENABLED are always exported with their value; urls only when enabled.
  • Global overrides move under global.telemetry with 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.merged and common.openTelemetryOptions.merged helpers removed.
  • The metrics values are removed entirely, as in the boilerplate: nothing in the service reads telemetry.metrics (the service exposes prom-client metrics on /metrics regardless), 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.* or global.openTelemetryOptions.* must move to server.*, telemetry.* and global.telemetry.*. Known spots: raster-ingestion geoserver-api.imagePullPolicy, geoserver-api.configManagement.offlineMode, geoserver-api.db.schema and geoserver-api.db.dbType (can be dropped, now defaults); site-values qa geoserver-api.imagePullPolicy (can be dropped).

🤖 Generated with Claude Code

CL-SHLOMIKONCHA and others added 3 commits September 10, 2026 15:58
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>
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants