somaz94 opened a new pull request, #11308:
URL: https://github.com/apache/gravitino/pull/11308

   ### What changes were proposed in this pull request?
   
   Add an opt-in `ingress.type` field to the Gravitino, Iceberg REST, and Lance 
REST
   Helm charts. It defaults to `ingress` (renders the existing 
`networking.k8s.io/v1`
   Ingress, fully backward compatible). When set to `gateway`, the chart 
renders a
   Kubernetes Gateway API `HTTPRoute` (`gateway.networking.k8s.io/v1`) instead 
of an
   Ingress.
   
   - New template `templates/httproute.yaml` in all three charts.
   - Existing `templates/ingress.yaml` is now gated to skip when `type: 
gateway`, so
     the two resources are mutually exclusive.
   - New `ingress.gateway` block (`apiVersion`, `parentRefs`) in `values.yaml`. 
The
     existing `hosts` / `paths` / `annotations` are reused for the HTTPRoute.
   - helm-unittest coverage added for the Iceberg chart (`httproute_test.yaml`, 
plus a
     case asserting the Ingress is not rendered in gateway mode).
   
   Note: `tls` and `className` are Ingress-only and are intentionally not 
consumed by
   HTTPRoute — Gateway API terminates TLS at the parent Gateway listener.
   
   ### Why are the changes needed?
   
   The charts currently only support the legacy Ingress resource. The Gateway 
API is
   the successor to Ingress and the standard in modern Kubernetes environments. 
This
   lets users on a Gateway API stack expose Gravitino services without bolting 
an
   Ingress controller alongside their Gateway.
   
   Fix: #10866
   
   ### Does this PR introduce _any_ user-facing change?
   
   Yes — a new opt-in chart value `ingress.type` (default `ingress`) and an
   `ingress.gateway` block. Existing installations are unaffected because the 
default
   preserves the current Ingress behavior.
   
   ### How was this patch tested?
   
   - `helm unittest --with-subchart=false 
dev/charts/gravitino-iceberg-rest-server`
     → 8 suites, 27 tests pass (includes the new httproute suite).
   - `helm template` on all three charts: `type: gateway` renders an HTTPRoute 
and no
     Ingress; default/`type: ingress` renders an Ingress and no HTTPRoute.
   - `helm lint` passes for the iceberg and lance charts.
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   - [X] Yes — Claude Code (Opus 4.8)
   
   Generated-by: Claude Code (Opus 4.8)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to