Skip to content

[opentelemetry-collector]: add Gateway API HTTPRoute support - #2246

Merged
TylerHelmuth merged 6 commits into
open-telemetry:mainfrom
somaz94:opentelemetry-collector/add-httproute
Jul 8, 2026
Merged

TylerHelmuth merged 6 commits into
open-telemetry:mainfrom
somaz94:opentelemetry-collector/add-httproute

Conversation

@somaz94

@somaz94 somaz94 commented Jun 4, 2026

Copy link
Copy Markdown
Contributor

Adds optional Gateway API HTTPRoute support to the opentelemetry-collector chart, as an alternative to Ingress for exposing the collector's HTTP-based receivers.

The new httproute block is disabled by default, so existing users are unaffected. It mirrors the existing ingress conventions (labels, namespace, tpl-ed annotations) and exposes the standard HTTPRoute fields:

  • enabled (default false)
  • apiVersion (defaults to gateway.networking.k8s.io/v1)
  • annotations, parentRefs, hostnames
  • rules — matches + backendRefs (+ optional filters); backendRefs[].name defaults to the collector service when omitted, matching the ingress backend convention

values.schema.json is extended with the matching httproute schema (the chart enforces additionalProperties: false). Version bumped 0.158.0 -> 0.159.0 and rendered examples regenerated.

Validated locally:

  • helm lint and ct lint --charts charts/opentelemetry-collector (all ci/* value sets)
  • values.schema.json rejects unknown keys under httproute
  • helm template for: disabled (no output), enabled with parentRefs/hostnames/rules, backendRefs name auto-defaulting, and apiVersion override

httproute.enabled: true is intentionally not added to ci/ because the collector test job's kind cluster does not install the Gateway API CRDs (only the operator test job does), so ct install would fail to create the resource. The disabled default keeps lint coverage.

@linux-foundation-easycla

linux-foundation-easycla Bot commented Jun 4, 2026 •

Copy link
Copy Markdown

CLA Signed
The committers listed above are authorized under a signed CLA.

  • ✅ login: somaz94 / name: somaz (24560e3)

@somaz94
somaz94 force-pushed the opentelemetry-collector/add-httproute branch from 24560e3 to 488612e Compare June 5, 2026 03:43
@somaz94

somaz94 commented Jun 11, 2026

Copy link
Copy Markdown
Contributor Author

Friendly ping — this has been open for about a week. CLA is signed and CI is green. Happy to address any feedback whenever a maintainer has a moment to take a look. Thanks!

@somaz94
somaz94 marked this pull request as ready for review June 12, 2026 01:14
@somaz94
somaz94 requested review from a team, TylerHelmuth, dmitryax and povilasv as code owners June 12, 2026 01:14
@somaz94
somaz94 force-pushed the opentelemetry-collector/add-httproute branch from 488612e to b10906c Compare June 17, 2026 02:02
Comment thread charts/opentelemetry-collector/templates/httproute.yaml
@somaz94

somaz94 commented Jun 24, 2026

Copy link
Copy Markdown
Contributor Author

Good idea. A passthrough .Values.httproute.spec keeps the chart from mirroring every Gateway API field, and it lines up with how the collector config is already handled here.

The one bit I'd keep is defaulting the backendRef to the collector service, so users don't have to hand-write the generated service name and port (that's the main thing the current template does for them). So: render .Values.httproute.spec as-is, but fill in backendRefs from the chart's service when they aren't set. Does that split work for you, or would you rather keep it a pure passthrough?

@TylerHelmuth

Copy link
Copy Markdown
Member

I missed that you're setting a default backend. In that case managing it like you have it is best.

@somaz94

somaz94 commented Jun 26, 2026

Copy link
Copy Markdown
Contributor Author

Thanks for confirming the approach — I kept the default backendRef behavior as you blessed.

The lint-test failure was ct lint's version-bump check (the chart files changed without a Chart.yaml bump). I bumped the chart version 0.159.0 → 0.160.0 (the new HTTPRoute template is a feature). helm lint is green locally, so CI should go green now. No README or rendered-example changes were needed.

@TylerHelmuth
TylerHelmuth merged commit ec936ed into open-telemetry:main Jul 8, 2026
5 checks passed
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.

2 participants