Skip to content

feat: add Gateway API HTTPRoute support with optional self-managed Gateway - #100

Merged
aaronzi merged 12 commits into
eclipse-basyx:mainfrom
credativ:feature/gatewayapi-httproute
Sep 17, 2026
Merged

aaronzi merged 12 commits into
eclipse-basyx:mainfrom
credativ:feature/gatewayapi-httproute

Conversation

@disco-stu

Copy link
Copy Markdown
Contributor

Summary

Adds opt-in Gateway API routing as an alternative to Ingress. Every BaSyx
service can now be exposed via a Gateway API HTTPRoute instead of (or
alongside) an Ingress, and the chart can optionally manage its own
Gateway resource for standalone/demo deployments that don't already have
one. Ingress remains the default routing mechanism; the feature is disabled
by default and fully backwards compatible.

Changes

  • Add <service>.httpRoute.{enabled,parentRefs,annotations,hosts} values and
    a templates/<service>/httproute.yaml for all 11 BaSyx services
  • Add a common.httpRoute.parentRefs helper resolving parentRefs with this
    precedence: service-local > chart-wide gatewayApi.parentRefs >
    auto-derived reference to the chart-managed Gateway > explicit fail
    with an actionable error message
  • Add an optional self-managed Gateway resource
    (gatewayApi.gateway.enabled, default false) with fixed http/https
    listeners, standard chart labels, and className validation via
    required(...)
  • Derive cert-manager.io/issuer / cert-manager.io/cluster-issuer
    annotations on the Gateway from gatewayApi.gateway.issuer /
    clusterIssuer, deliberately decoupled from the existing ingress.issuer
    / ingress.clusterIssuer values
  • Extend values.schema.json with the new gatewayApi object
  • Add two example values files: values/values.gatewayapi.example.yaml
    (bring-your-own Gateway) and values/values.gatewayapi-managed.example.yaml
    (chart-managed Gateway)
  • Document the feature in README.md, including a new "Gateway API
    (HTTPRoute)" section with value tables and the parentRefs precedence
    rules
  • Bump chart version to 3.12.0 (appVersion unchanged at 1.0.11, no
    BaSyx Go image change)

Validation

  • helm lint charts/basyx – 0 errors
  • helm unittest charts/basyx – 18 suites / 242 tests passing, including
    new gateway_test.yaml and httproute_test.yaml
  • Manually verified against a real Envoy Gateway installation (Gateway API
    implementation)

@disco-stu
disco-stu force-pushed the feature/gatewayapi-httproute branch from afdfd45 to c51822f Compare September 9, 2026 16:24
@disco-stu
disco-stu force-pushed the feature/gatewayapi-httproute branch from c51822f to 65c551a Compare September 17, 2026 13:49
@aaronzi
aaronzi merged commit 8971860 into eclipse-basyx:main Sep 17, 2026
2 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