feat: Add HTTPRoute support for Gateway API#67
Conversation
|
Warning Review limit reached
More reviews will be available in 27 minutes and 19 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (5)
📝 WalkthroughWalkthroughThis PR adds Kubernetes Gateway API HTTPRoute support to the Kafka-UI Helm chart. A new HTTPRoute resource template is introduced alongside configuration values, deployment notes are updated to display URLs, and the chart version is incremented to 1.6.5. ChangesGateway API HTTPRoute Support for Kafka-UI
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (2)
charts/kafka-ui/templates/NOTES.txt (1)
8-11: ⚡ Quick winConsider making the URL scheme configurable for HTTPRoute.
The URL output always uses
http://, but HTTPRoute may be served over HTTPS when the Gateway has TLS configured. Unlike Ingress (line 5), where TLS configuration is part of the Ingress spec, HTTPRoute TLS is configured on the Gateway itself, making it impossible to auto-detect here.Consider adding a configurable field like
httproute.scheme(defaulting tohttp) to allow users to specify the correct scheme for their setup.💡 Suggested enhancement
Add to
values.yaml:httproute: ## `@param` httproute.scheme URL scheme (http or https) to display in NOTES.txt scheme: httpThen update
NOTES.txtline 10:- http://{{ tpl $host $ }}{{ $.Values.httproute.path }} + {{ $.Values.httproute.scheme }}://{{ tpl $host $ }}{{ $.Values.httproute.path }}🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@charts/kafka-ui/templates/NOTES.txt` around lines 8 - 11, The NOTES.txt currently hardcodes "http://" for HTTPRoute URLs; add a configurable values key (httproute.scheme) defaulting to "http" and change the template to use that value instead of the literal string so users can set "https" when their Gateway uses TLS; update values.yaml to document httproute.scheme and modify the template block that renders URLs (the range over .Values.httproute.hostnames in NOTES.txt) to prefix URLs with the resolved scheme (e.g., use default("http", $.Values.httproute.scheme) or equivalent Helm templating) so the output reflects the configured scheme.charts/kafka-ui/CONFIGURATION.md (1)
94-94: ⚡ Quick winComplete the documentation for
httproute.rules.The description should mention that backendRefs in custom rules are ignored and the Kafka-UI service is always used, as documented in
values.yamlline 297. This is important user-facing behavior.📝 Suggested documentation improvement
-| `httproute.rules` | Advanced routing rules. If empty, a default rule matching httproute.path is generated | `[]` | +| `httproute.rules` | Advanced routing rules. If empty, a default rule matching httproute.path is generated. Any backendRefs in custom rules are ignored and the Kafka-UI service is always used | `[]` |🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@charts/kafka-ui/CONFIGURATION.md` at line 94, Update the documentation line for httproute.rules to explicitly state that custom HTTPRoute rules may be provided but any backendRefs within those custom rules are ignored and the Chart will always route to the Kafka-UI service; reference the values.yaml setting that enforces this behavior by mentioning the values key (httproute.rules) and the chart's enforced backend selection so users know Kafka-UI is always used regardless of backendRefs in custom rules.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@charts/kafka-ui/CONFIGURATION.md`:
- Line 94: Update the documentation line for httproute.rules to explicitly state
that custom HTTPRoute rules may be provided but any backendRefs within those
custom rules are ignored and the Chart will always route to the Kafka-UI
service; reference the values.yaml setting that enforces this behavior by
mentioning the values key (httproute.rules) and the chart's enforced backend
selection so users know Kafka-UI is always used regardless of backendRefs in
custom rules.
In `@charts/kafka-ui/templates/NOTES.txt`:
- Around line 8-11: The NOTES.txt currently hardcodes "http://" for HTTPRoute
URLs; add a configurable values key (httproute.scheme) defaulting to "http" and
change the template to use that value instead of the literal string so users can
set "https" when their Gateway uses TLS; update values.yaml to document
httproute.scheme and modify the template block that renders URLs (the range over
.Values.httproute.hostnames in NOTES.txt) to prefix URLs with the resolved
scheme (e.g., use default("http", $.Values.httproute.scheme) or equivalent Helm
templating) so the output reflects the configured scheme.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 33ca3b3b-e035-475a-a773-48bd54e1550f
📒 Files selected for processing (5)
charts/kafka-ui/CONFIGURATION.mdcharts/kafka-ui/Chart.yamlcharts/kafka-ui/templates/NOTES.txtcharts/kafka-ui/templates/httproute.yamlcharts/kafka-ui/values.yaml
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@charts/kafka-ui/templates/NOTES.txt`:
- Line 10: NOTES.txt uses tpl to render hostnames but httproute.yaml writes
spec.hostnames with toYaml, causing inconsistent hostname templating; make them
consistent by changing httproute.yaml so spec.hostnames are rendered with tpl
(the same templating behavior NOTES.txt uses) instead of raw toYaml output
(i.e., apply tpl to the hostname values before emitting spec.hostnames) so that
tpl, spec.hostnames, NOTES.txt and httproute.yaml are aligned.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: e849f508-f9a2-44ba-8a75-5adf12ddc088
📒 Files selected for processing (3)
charts/kafka-ui/CONFIGURATION.mdcharts/kafka-ui/templates/NOTES.txtcharts/kafka-ui/values.yaml
✅ Files skipped from review due to trivial changes (1)
- charts/kafka-ui/CONFIGURATION.md
🚧 Files skipped from review as they are similar to previous changes (1)
- charts/kafka-ui/values.yaml
Summary by CodeRabbit
New Features
Documentation
Chores