Skip to content

fix(helm): align chart defaults with raster-core values and split server/telemetry scopes - #110

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

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

Conversation

@CL-SHLOMIKONCHA

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

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

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

Further information:

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

Key Before After
imagePullPolicy Always IfNotPresent
configManagement.offlineMode true true (already default)
env.application.entities.polygonParts.minAreaSquareDeg 1e-15 1e-12
env.application.validation.areaThresholdSquareMeters 5 10
server.requestPayloadLimit 1mb 10mb (as set by site-values)
tracing / OpenTelemetry logging disabled enabled

Note: config/default.json still carries 1e-15 / 5 for local runs; only the Helm defaults were changed, since the deployed values come from the chart's configmap.

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

  • The flat env block is replaced by a server scope (port, targetPort, protocol, requestPayloadLimit, responseCompressionEnabled) and a telemetry scope (logger, tracing).
  • env.application.* stays under env, unchanged; only the server and telemetry keys leave the env scope.
  • 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, common.metrics.merged and common.openTelemetryOptions.merged helpers removed.
  • The metrics values are removed entirely, as in the boilerplate: nothing in the service reads telemetry.metrics, TELEMETRY_METRICS_* were never consumed, and the pod Prometheus annotations come from mclabels (the chart's own annotations were duplicates). Raster-core's polygon-parts-manager.metrics block can simply be dropped.

Breaking for consumers: umbrella charts and site-values setting env.*, tracing.*, metrics.*, global.tracing.*, global.metrics.* or global.openTelemetryOptions.* must move to server.*, telemetry.* and global.telemetry.*; env.application.* keeps its path. Known spots: raster-core polygon-parts-manager.metrics (drop, no longer exists) and polygon-parts-manager.env.application.* (can be dropped, now defaults), site-values polygon-parts-manager.env.requestPayloadLimit (can be dropped, now default).

🤖 Generated with Claude Code

CL-SHLOMIKONCHA and others added 3 commits September 9, 2026 10:08
- imagePullPolicy: IfNotPresent (was Always)
- metrics enabled by default with prometheus scrape and localhost metrics url
- entities.polygonParts.minAreaSquareDeg: 1e-12 (was 1e-15)
- validation.areaThresholdSquareMeters: 10 (was 5)

These values are currently overridden by the raster-core umbrella chart;
making them defaults lets the overrides be removed.
Align the chart with ts-server-boilerplate:

- replace the flat env block with a server scope (port, targetPort,
  protocol, requestPayloadLimit, responseCompressionEnabled) and a
  telemetry scope (logger, tracing, metrics)
- move the application block from env.application to a top-level
  application scope
- 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,
  the names the commonBoilerplateV3 schema and the OpenTelemetry SDK read
- move global overrides under global.telemetry; only the tracing, metrics
  and otlp logger urls are overridable from global and take precedence
  over chart values, enabled flags stay chart-level
- drop the common.tracing/metrics/openTelemetryOptions.merged helpers
- default requestPayloadLimit to 10mb as deployed by site-values

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
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>
@CL-SHLOMIKONCHA CL-SHLOMIKONCHA changed the title fix(helm): align chart defaults with raster-core deployment values fix(helm): align chart defaults with raster-core values and split server/telemetry scopes Sep 10, 2026
CL-SHLOMIKONCHA and others added 3 commits September 10, 2026 14:40
Nothing in the service reads telemetry.metrics and the schema declares
no env var for it, so TELEMETRY_METRICS_* were never consumed. Pod
prometheus annotations come from mclabels, which made the chart's own
annotations duplicates. Drop the metrics scope, the global override, the
metricsUrl helper and the configmap keys.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Only server and telemetry leave env; the application keys stay where
consumers already set them.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

@vitaligi vitaligi left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good job!

see similar prettyPrint comment

Comment thread helm/values.yaml
Comment thread config/custom-environment-variables.json
CL-SHLOMIKONCHA and others added 2 commits September 15, 2026 13:45
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>
Nothing reads telemetry.metrics: the boilerplate schema declares it
without properties or env bindings, the app builds its prom-client
registry without config, and the helm chart stopped emitting
TELEMETRY_METRICS_* in 310dcc5. Pod scrape annotations come from
mclabels and do not depend on these vars.
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