Observability: Helm chart integration
- 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
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