Description
Add native OTel configuration support to the vc-authn-oidc chart, covering both the controller (FastAPI OIDC controller) and the ACA-Py agent deployed via the acapy sub-chart.
Context
The vc-authn-oidc chart (charts/vc-authn-oidc) has two components to instrument:
- Controller (the FastAPI OIDC controller) —
templates/deployment.yaml
- ACA-Py agent — deployed via the
acapy sub-chart dependency
Use Helm's global: section so shared OTel settings are declared once and cascade to both components automatically.
Requirements
- Add a
global.otel: section to values.yaml with shared fields: enabled, endpoint, protocol, tracesExporter, metricsExporter, logCorrelation
- Controller: Add
otel.serviceName (local, defaults to release name); render all OTEL env vars in templates/deployment.yaml from global.otel.* (with local fallback) when global.otel.enabled is true
- ACA-Py agent: Once the acapy sub-chart has native
otel: support, it will automatically inherit global.otel.* from the parent — set only acapy.otel.serviceName in the parent values.yaml
Acceptance Criteria
Description
Add native OTel configuration support to the
vc-authn-oidcchart, covering both the controller (FastAPI OIDC controller) and the ACA-Py agent deployed via theacapysub-chart.Context
The
vc-authn-oidcchart (charts/vc-authn-oidc) has two components to instrument:templates/deployment.yamlacapysub-chart dependencyUse Helm's
global:section so shared OTel settings are declared once and cascade to both components automatically.Requirements
global.otel:section tovalues.yamlwith shared fields:enabled,endpoint,protocol,tracesExporter,metricsExporter,logCorrelationotel.serviceName(local, defaults to release name); render all OTEL env vars intemplates/deployment.yamlfromglobal.otel.*(with local fallback) whenglobal.otel.enabledis trueotel:support, it will automatically inheritglobal.otel.*from the parent — set onlyacapy.otel.serviceNamein the parentvalues.yamlAcceptance Criteria
global.otel.enabled: trueandglobal.otel.endpointonce results in correct env vars in both the controller pod and the aca-py podOTEL_SERVICE_NAME