feat(k8s): make the OTLP trace endpoint a chart value (closes #186) (#187)
CI / k8s (push) Successful in 12s
CI / lint (push) Successful in 1m50s
CI / build (push) Successful in 1m25s
CI / docs (push) Successful in 52s
CI / unit (push) Successful in 1m36s
CI / frontend (push) Successful in 2m27s
Deploy to Talos / deploy (push) Successful in 2m31s
CI / mutation (push) Successful in 5m1s
CI / verify-stack (push) Successful in 10m31s

closes #186

- New `otelEndpoint` value (default `http://tempo:4317`, unchanged behaviour), rendered into the `otel` env group via `tpl`.
- `deploy.yaml` passes `--set otelEndpoint=$OTEL_ENDPOINT` only when the repo variable is set.

Verified: `helm template` renders the default, and with `--set otelEndpoint=http://tempo.monitoring.svc:4317` it renders that override. No new dependency, no ADR needed.

🤖 Generated with [Claude Code](https://claude.com/claude-code)Reviewed-on: #187
This commit was merged in pull request #187.
This commit is contained in:
not
2026-09-28 13:47:47 +00:00
parent b444e0c680
commit eba1381ef2
2 changed files with 14 additions and 4 deletions
+10 -3
View File
@@ -30,6 +30,12 @@ host: 192.168.122.100
# portals' authority (runbook, "Publishing through the labs Caddy").
keycloakUrl: ""
# Where the .NET services send traces (OTLP gRPC). The default is the chart's own
# `tempo` workload (off by default, like compose). Point it at a Tempo outside the
# release, e.g. the cluster monitoring stack's http://tempo.monitoring.svc:4317 —
# with no Tempo at all, every export fails and is counted as a .NET exception.
otelEndpoint: http://tempo:4317
demo:
# Fill in and submit the medewerker OTP step from the fixture secret, so a public
# demo shows MFA enforced without an authenticator: makes the big-demo theme
@@ -160,10 +166,11 @@ envGroups:
NOTIFICATIONS_DISABLED: "false"
RUN_SETUP_CONFIG: "true"
# Traces for the .NET services. Always set, like compose: the exporter fails
# harmlessly when Tempo is absent (services/*/Program.cs).
# Traces for the .NET services. Always set, like compose. With no Tempo behind
# `otelEndpoint` the exporter fails quietly but throws on every batch, which
# shows up as HttpRequestException/SocketException in dotnet_exceptions_total.
otel:
OTEL_EXPORTER_OTLP_ENDPOINT: http://tempo:4317
OTEL_EXPORTER_OTLP_ENDPOINT: '{{ .Values.otelEndpoint }}'
OTEL_EXPORTER_OTLP_PROTOCOL: grpc
# ── Workloads ──────────────────────────────────────────────────────────────────