Skip to content

fix(helm): align values with ts-server-boilerplate server/telemetry split - #116

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

CL-SHLOMIKONCHA wants to merge 17 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), MapColonies/ts-server-boilerplate#476 (MAPCO-11622)

Further information:

Default values

  • configManagement.offlineMode defaults to true (was false), resolving the # TODO: remove after set this as the default value within service override in the raster-core umbrella chart.
  • logLevel defaults to info, requestPayloadLimit to 5mb, tracing and OpenTelemetry logging enabled by default.

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).
  • 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, the name the commonBoilerplateV3 schema reads; the previous OPENTELEMETRY_LOGGING_URL key was not consumed. Resource attributes are exported as OTEL_RESOURCE_ATTRIBUTES (key=value,key=value), read by the OpenTelemetry SDK and mapped as a string in the config.
  • 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.
  • tracingEnabled and common.openTelemetryOptions.merged helpers removed.
  • config/custom-environment-variables.json maps telemetry.logger.opentelemetryOptions from OPENTELEMETRY_LOGGING_ENABLED, OTLP_LOGGER_ENDPOINT_URL and OTEL_RESOURCE_ATTRIBUTES.

Breaking for consumers: umbrella charts setting env.*, global.tracing.* or global.openTelemetryOptions.* must move to server.*, telemetry.* and global.telemetry.*.

🤖 Generated with Claude Code

CL-SHLOMIKONCHA and others added 6 commits September 9, 2026 10:08
The raster-core umbrella chart overrides this value on every deployment.
Make it the chart default so the override can 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)
- 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 and
  otlp logger urls are overridable from global and take precedence over
  chart values, enabled flags stay chart-level
- drop the tracingEnabled and common.openTelemetryOptions.merged helpers
- reference $server / $telemetry via with blocks across the templates

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@CL-SHLOMIKONCHA CL-SHLOMIKONCHA changed the title fix(helm): set configManagement.offlineMode default to true fix(helm): align values with ts-server-boilerplate server/telemetry split Sep 10, 2026
CL-SHLOMIKONCHA and others added 9 commits September 10, 2026 11:02
Match the env var name the helm configmap now exports and the
commonBoilerplateV3 schema reads. Drop the JSON resourceAttributes
mapping: the chart exports OTEL_RESOURCE_ATTRIBUTES, which the
OpenTelemetry SDK picks up on its own.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The commonBoilerplateV3 schema already resolves enabled and url from
OPENTELEMETRY_LOGGING_ENABLED and OTLP_LOGGER_ENDPOINT_URL via
x-env-value, at a higher priority than the node-config mapping.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Keep the opentelemetryOptions mapping in custom-environment-variables.json
pointing at OPENTELEMETRY_LOGGING_ENABLED and OTLP_LOGGER_ENDPOINT_URL,
matching the commonBoilerplateV3 schema, and describe next to the
opentelemetryOptions scope in values.yaml which env vars it renders and
who consumes them.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Put the opentelemetryOptions mapping back in
custom-environment-variables.json, pointing at
OPENTELEMETRY_LOGGING_ENABLED and OTLP_LOGGER_ENDPOINT_URL to match the
commonBoilerplateV3 schema. Describe next to the opentelemetryOptions
scope in values.yaml which env vars it renders and who consumes them.
Restore the empty typeOrm placeholders in default.json.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Map telemetry.logger.opentelemetryOptions.resourceAttributes from
OPENTELEMETRY_RESOURCE_ATTRIBUTES (JSON) again and have the configmap
export it alongside OTEL_RESOURCE_ATTRIBUTES, so the attributes reach
both the config object and the OpenTelemetry SDK.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Emit OPENTELEMETRY_LOGGING_ENABLED and TELEMETRY_TRACING_ENABLED with
their actual value instead of only when enabled, as the chart did before
the server/telemetry split, so a disabled feature is explicit in the
configmap.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Use the single OTEL_RESOURCE_ATTRIBUTES variable the configmap exports
for the config mapping as well, and drop the JSON
OPENTELEMETRY_RESOURCE_ATTRIBUTES export.

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

@vitaligi vitaligi left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

good job!

btw, this is directly affected by the change to prettyPrint. it is now part of loggerConfig (same change should go to ts-server-boilerplate). i think we should refactor this as well

Comment thread helm/templates/configmap.yaml Outdated
Comment thread helm/templates/configmap.yaml Outdated
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>
DB_HOST and DB_NAME default to empty strings and rendered as null,
which Kubernetes rejects in ConfigMap data. Quote every remaining
unquoted entry so all values are always emitted as strings.
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