bcgov / bcgov/traction

Observability: Helm chart integration

Open
#2,015 1 comment 0 reactions 0 assignees View on GitHub
pinned
Dominant language
TypeScript
Stars
62
Forks
59
Avg merge
1d 11h
Merged PRs (30d)
5

Description

## Description

Add native OTel configuration support to the traction Helm chart, covering both the `tenant-ui` deployment and the `traction-agent` (via acapy sub-chart).

## Context

The traction chart (`charts/traction/`) has two components: `tenant-ui` (own deployment template at `templates/ui/deployment.yaml`) and `traction-agent` (via `acapy` sub-chart dependency). The `traction_innkeeper` plugin runs inside the ACA-Py process — no separate deployment.

## Requirements

- Add a `global.otel:` section to `values.yaml` with shared fields: `enabled`, `endpoint`, `protocol`, `tracesExporter`, `metricsExporter`, `logCorrelation`
- **tenant-ui:** Add `ui.otel.serviceName` (local, defaults to `traction-tenant-ui`); render all OTEL env vars conditionally in `templates/ui/deployment.yaml` from `global.otel.*` when `global.otel.enabled` is true
- **ACA-Py agent:** Once the acapy sub-chart has native `otel:` support, it inherits `global.otel.*` automatically — set only `acapy.otel.serviceName: traction-agent` in this chart's `values.yaml`

## Acceptance Criteria

- [ ] Setting `global.otel.enabled: true` and `global.otel.endpoint` once results in correct env vars in both the tenant-ui pod and the traction-agent pod
- [ ] Each pod has its own distinct `OTEL_SERVICE_NAME`
- [ ] Traces from both components visible in Tempo
- [ ] Metrics from both components visible in Mimir

Contributor guide

Open the contributing guide

Research direction

Start with charts/traction/values.yaml and templates/ui/deployment.yaml, then inspect the acapy sub-chart for its native otel support. Configure the shared global settings and distinct service names, and verify that enabling OTEL produces the expected environment variables in both pods, with traces in Tempo and metrics in Mimir.

Written by the indexing model from the issue text.

Assessment

Tech stack
helm
Domain
devops, observability-sre
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
66/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.