From 9438e3a12d07d219a7b6121a4fee6e8e4e337a70 Mon Sep 17 00:00:00 2001 From: Landon Cox Date: Mon, 25 May 2026 07:23:33 -0700 Subject: [PATCH] refactor: use pickEnvVars for OTEL environment variable forwarding Replace verbose spread-operator patterns for OTEL/trace env vars with the existing pickEnvVars() helper in api-proxy-service.ts. Before (12 lines): ...(process.env.OTEL_EXPORTER_OTLP_ENDPOINT && { ... }), ...(process.env.OTEL_EXPORTER_OTLP_HEADERS && { ... }), ...(process.env.GITHUB_AW_OTEL_TRACE_ID && { ... }), ...(process.env.GITHUB_AW_OTEL_PARENT_SPAN_ID && { ... }), After (5 lines): ...pickEnvVars('OTEL_EXPORTER_OTLP_ENDPOINT', 'OTEL_EXPORTER_OTLP_HEADERS', 'GITHUB_AW_OTEL_TRACE_ID', 'GITHUB_AW_OTEL_PARENT_SPAN_ID'), Closes #3612 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/services/api-proxy-service.ts | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/src/services/api-proxy-service.ts b/src/services/api-proxy-service.ts index e25ebdf8a..8a8b94b44 100644 --- a/src/services/api-proxy-service.ts +++ b/src/services/api-proxy-service.ts @@ -125,19 +125,13 @@ export function buildApiProxyService(params: ApiProxyServiceParams): ApiProxyBui // parent trace context so api-proxy spans are children of the workflow trace. // OTEL_EXPORTER_OTLP_ENDPOINT activates OTLP/HTTP export (via Squid); when absent // spans are written to /var/log/api-proxy/otel.jsonl as a local file fallback. - ...(process.env.OTEL_EXPORTER_OTLP_ENDPOINT && { - OTEL_EXPORTER_OTLP_ENDPOINT: process.env.OTEL_EXPORTER_OTLP_ENDPOINT, - }), - ...(process.env.OTEL_EXPORTER_OTLP_HEADERS && { - OTEL_EXPORTER_OTLP_HEADERS: process.env.OTEL_EXPORTER_OTLP_HEADERS, - }), + ...pickEnvVars( + 'OTEL_EXPORTER_OTLP_ENDPOINT', + 'OTEL_EXPORTER_OTLP_HEADERS', + 'GITHUB_AW_OTEL_TRACE_ID', + 'GITHUB_AW_OTEL_PARENT_SPAN_ID', + ), OTEL_SERVICE_NAME: process.env.OTEL_SERVICE_NAME || 'awf-api-proxy', - ...(process.env.GITHUB_AW_OTEL_TRACE_ID && { - GITHUB_AW_OTEL_TRACE_ID: process.env.GITHUB_AW_OTEL_TRACE_ID, - }), - ...(process.env.GITHUB_AW_OTEL_PARENT_SPAN_ID && { - GITHUB_AW_OTEL_PARENT_SPAN_ID: process.env.GITHUB_AW_OTEL_PARENT_SPAN_ID, - }), // Rate limiting configuration ...(config.rateLimitConfig && { AWF_RATE_LIMIT_ENABLED: String(config.rateLimitConfig.enabled),