feat(helm): add UI HTTPRoute#2165
Conversation
Adds an optional Gateway API HTTPRoute for the kagent UI, gated behind ui.httpRoute.enabled (default false). This lets users front the UI with a Gateway API implementation (kgateway, Istio, Envoy Gateway, etc.) instead of the OpenShift Route or the bundled oauth2-proxy. Supports parentRefs, hostnames, and per-rule matches/filters/timeouts. When a rule omits backendRefs it defaults to the UI Service on ui.service.ports.port. Covered by helm-unittest cases. Signed-off-by: younsl <cysl@kakao.com>
There was a problem hiding this comment.
Pull request overview
This PR extends the helm/kagent chart with two opt-in features: (1) a Gateway API HTTPRoute for exposing the UI via a Gateway implementation, and (2) extraObjects, a tpl-rendered list for shipping arbitrary additional manifests with the release.
Changes:
- Adds
ui.httpRoutevalues and a newtemplates/ui-httproute.yamlto render an optional UIHTTPRoute. - Adds
extraObjectsvalues and a newtemplates/extra-objects.yamlto render arbitrary,tpl-expanded manifests. - Adds helm-unittest coverage for both new templates.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| helm/kagent/values.yaml | Adds configuration for ui.httpRoute and top-level extraObjects. |
| helm/kagent/templates/ui-httproute.yaml | New optional Gateway API HTTPRoute template for the UI. |
| helm/kagent/templates/extra-objects.yaml | New template to render user-provided extraObjects via tpl. |
| helm/kagent/tests/ui-httproute_test.yaml | Unit tests validating HTTPRoute rendering behavior. |
| helm/kagent/tests/extra-objects_test.yaml | Unit tests validating extraObjects rendering behavior (map + string). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
6e1f021 to
aec643c
Compare
EItanya
left a comment
There was a problem hiding this comment.
Hey there, I think there are a mixture of concerns here that I'd like to tease apart.
- The HTTPRoute seems generally useful and I'd like to discuss the pros/cons
- The arbitrary extra objects is unrelated and should be split up into a separate PR to debate on its own merit
aec643c to
cfbb887
Compare
|
Thanks for the review. Agreed on splitting these up. This PR now only contains the HTTPRoute change. I dropped the extraObjects commit and will open a separate PR for it so it can be debated on its own merit. Happy to discuss the pros and cons of the HTTPRoute here. |
Summary
Adds an optional Gateway API
HTTPRoutefor the UI. It is off by default so existing installs are unaffected.ui.httpRoute: lets users front the UI with a Gateway API implementation such as kgateway or Istio or Envoy Gateway instead of the OpenShiftRouteor the bundled oauth2-proxy.Changes
HTTPRoute (
ui.httpRoute)templates/ui-httproute.yamlgated behindui.httpRoute.enabled(defaultfalse).parentRefsandhostnamesand per-rulematches/filters/timeouts.backendRefsit defaults to the UIServiceonui.service.ports.port.Testing
Added helm-unittest suite
tests/ui-httproute_test.yaml.References
Notes
ui.httpRoute.enabledstays at its default.