Add Gateway API (HTTPRoute) support to Console Helm chart and CRD#1309
Closed
w1ndhunter wants to merge 3 commits intoredpanda-data:mainfrom
Closed
Add Gateway API (HTTPRoute) support to Console Helm chart and CRD#1309w1ndhunter wants to merge 3 commits intoredpanda-data:mainfrom
w1ndhunter wants to merge 3 commits intoredpanda-data:mainfrom
Conversation
Contributor
|
@w1ndhunter Thanks for the PR. I think we'd also like to expose in the Operator, if you're ok with it I can take a swag at modifying this PR to provide support in the Operator as well. |
Contributor
|
It looks like I'll need to close and reopen a new PR but Ill make sure to preserve your commits go in the new PR to run the tests. |
Contributor
|
Closing this fork-based PR and recreating from an upstream branch to trigger CI. All commits from @w1ndhunter are preserved. See the new PR linked below. |
7 tasks
Contributor
|
Recreated as #1329 from an upstream branch to enable CI. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds support for Kubernetes Gateway API
HTTPRouteresources to the Console chart and operator, allowing users to expose Console via Gateway API controllers (e.g. Envoy Gateway, Istio, Cilium) as an alternative to classic Ingress.Gateway and Ingress are mutually exclusive — only one may be enabled at a time. Attempting to enable both will result in a validation error.
Closes #1308
Changes
Console Helm Chart
gatewayvalues block alongside existingingressblockgateway.gowithHTTPRoute()rendering functionHTTPRouteadded toRender()manifest list andTypes()scheme registrationgatewayv1.Install(Scheme)for Gateway API type serializationnotes.goto show Gateway URLs (mutually exclusive with Ingress)NewRenderStaterejects both gateway and ingress enabled simultaneouslyOperator (Console CRD)
GatewayConfigandGatewayParentReferencetypes inconsole_types.goGatewayfield added toConsoleValuesandRedpandaConsolestructsgateway.networking.k8s.io/httproutespermissionsgatewayv1types in V2 schemesigs.k8s.io/gateway-apifrom v1.4.1 → v1.5.1Usage Examples
Helm Chart — Gateway API
Helm Chart — Classic Ingress (unchanged)
Console CRD (Operator) — Gateway API
Console CRD (Operator) — Switching from Gateway to Ingress
To switch, remove the
gatewaystanza and addingress:The operator will remove the HTTPRoute and create an Ingress instead.
Test plan
go build ./...passes inoperator/andcharts/console/go test ./...passes incharts/console/— includes:TestIngressGatewayMutualExclusion— both enabled → errorTestGatewayRemoval/gateway_removed_from_config— no gateway stanza → no HTTPRouteTestGatewayRemoval/gateway_explicitly_disabled—enabled: false→ no HTTPRouteTestGatewayRemoval/switch_from_gateway_to_ingress— gateway→ingress produces Ingress, no HTTPRouteTestTemplategolden tests (gateway-templating case)gatewayfield with correct OpenAPI validationgateway.enabled: true→ HTTPRoute createdgateway.enabled: true→ HTTPRoute created🤖 Generated with Claude Code