Skip to content

feat(langsmith): strip internal Envoy response headers (INF-2025)#707

Open
John Kennedy (jkennedyvz) wants to merge 7 commits into
mainfrom
john/inf-2025-strip-internal-envoy-response-headers
Open

feat(langsmith): strip internal Envoy response headers (INF-2025)#707
John Kennedy (jkennedyvz) wants to merge 7 commits into
mainfrom
john/inf-2025-strip-internal-envoy-response-headers

Conversation

@jkennedyvz
Copy link
Copy Markdown
Contributor

@jkennedyvz John Kennedy (jkennedyvz) commented May 7, 2026

Summary

  • Adds opt-in EnvoyFilter to strip internal Envoy observability headers (x-envoy-upstream-service-time, x-envoy-decorator-operation) from gateway responses for self-hosted customers running Istio.
  • New values: istioGateway.stripResponseHeaders.{enabled,workloadSelector,headers}. Default: disabled. The default headers list closes the pentest finding without further configuration.
  • Validation in validate.yaml rejects misconfiguration (toggle without istioGateway.enabled, empty workloadSelector, empty headers).

Test plan

  • helm unittest charts/langsmith — 18/18 pass across 3 suites (existing + 5 new EnvoyFilter rendering tests + 3 new validation tests)
  • helm template with istioGateway.stripResponseHeaders.enabled=true renders a structurally correct EnvoyFilter (NETWORK_FILTER MERGE patch on http_connection_manager, response_headers_to_remove populated)
  • helm template with toggle on but istioGateway.enabled=false fails with the validation error
  • After deploy: curl -i against any path shows neither x-envoy-upstream-service-time nor x-envoy-decorator-operation in the response

@jkennedyvz John Kennedy (jkennedyvz) requested a review from a team as a code owner May 7, 2026 23:01
@jkennedyvz John Kennedy (jkennedyvz) force-pushed the john/inf-2025-strip-internal-envoy-response-headers branch from f6d8c42 to 8b9cb75 Compare May 7, 2026 23:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant