Skip to content

[AMORO-4242][Helm] Add Gateway API HTTPRoute support to the Amoro chart#4243

Merged
zhoujinsong merged 1 commit into
apache:masterfrom
somaz94:feat/gateway-api-httproute
Jun 11, 2026
Merged

[AMORO-4242][Helm] Add Gateway API HTTPRoute support to the Amoro chart#4243
zhoujinsong merged 1 commit into
apache:masterfrom
somaz94:feat/gateway-api-httproute

Conversation

@somaz94

@somaz94 somaz94 commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

What changes were proposed in this pull request?

This PR adds optional Gateway API HTTPRoute support to the charts/amoro Helm chart, as an alternative to the existing Ingress for clusters that have standardized on the Gateway API.

The change is purely additive — the existing Ingress template and its tests are untouched, and httpRoute.enabled defaults to false, so existing installations are unaffected.

  • values.yaml: new httpRoute block (enabled, parentRefs, hostname, path, pathType, annotations, extraHosts, extraRules), mirroring the shape and ## @param documentation of the existing ingress block.
  • templates/amoro-httproute.yaml: new template gated on httpRoute.enabled, rendering a gateway.networking.k8s.io/v1 HTTPRoute that backends to the existing <fullname>-rest Service (port 1630) — the same Service the Ingress targets. It reuses the chart's common.names.*, common.labels.standard, and common.tplvalues.* helpers.
  • tests/amoro-httproute_test.yaml: 12 helm-unittest cases mirroring amoro-ingress_test.yaml.

Why are the changes needed?

Gateway API is the successor to Ingress and is the recommended north-south routing API on many clusters (Istio, Envoy Gateway, Cilium, Kong, …). Users running a Gateway-API-based ingress data plane currently have to hand-write an HTTPRoute outside the chart to expose the Amoro dashboard. This lets them do it declaratively through the chart, the same way ingress.enabled works today.

Brief change log

  • Add httpRoute parameter block to charts/amoro/values.yaml
  • Add charts/amoro/templates/amoro-httproute.yaml
  • Add charts/amoro/tests/amoro-httproute_test.yaml (12 helm-unittest cases)

How was this patch tested?

  • helm unittest charts/amoro — 8 suites / 87 tests pass (12 new HTTPRoute cases + existing suites, no regression).
  • helm lint charts/amoro --set httpRoute.enabled=true — passes.
  • helm template rendered for three scenarios — disabled (0 documents), enabled with parentRefs + annotations, and enabled with extraHosts + custom path/pathType + extraRules — all render as expected and backend to <release>-amoro-rest:1630.

Parameters are documented inline via ## @param comments in values.yaml, consistent with how the existing ingress parameters are documented (the chart README.md does not carry a per-parameter table).

fix #4242

somaz94 added a commit to somaz94/somaz94 that referenced this pull request Jun 5, 2026
@somaz94 somaz94 marked this pull request as ready for review June 5, 2026 03:20

@zhoujinsong zhoujinsong left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM overall — clean, additive change with good test coverage.

A few minor suggestions (non-blocking):

  1. Validate parentRefs when enabled — If a user sets httpRoute.enabled: true but forgets to configure parentRefs, the rendered HTTPRoute will be orphaned (not attached to any Gateway). Consider adding a {{- fail }} guard or at minimum marking it as Required in the values comments.

  2. Whitespace trimming — The template uses {{ if / {{ end }} instead of {{- if / {{- end }}, which introduces extra blank lines in the rendered output. Other templates in this chart use the trimmed form.

  3. Default hostname: amoro.local — This placeholder domain won't resolve in real clusters. Consider defaulting to "" (forcing explicit configuration) or adding a bold note that it must be changed.

None of these block the merge. Nice work!

@zhoujinsong zhoujinsong merged commit c812511 into apache:master Jun 11, 2026
1 check 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.

[Feature]: Add Gateway API HTTPRoute support to the Amoro Helm chart

2 participants