-
Notifications
You must be signed in to change notification settings - Fork 628
Add documentation for choosing the right Route type #4330
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Documentation explaining when to use HTTPRoute, GRPCRoute, TLSRoute, TCPRoute, and UDPRoute.
|
Adding the "do-not-merge/release-note-label-needed" label because no release-note block was detected, please follow our release note process to remove it. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: ryurulz The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
Welcome @ryurulz! |
|
Hi @ryurulz. Thanks for your PR. I'm waiting for a github.com member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
/ok-to-test Thanks for opening this @ryurulz! I'm not sure if a standalone page is the right way to format this or if it should be rolled into somewhere else but we could definitely use some better guidance here, especially on some of the trickier TLS termination and SNI routing bits. If you're able to join the Gateway API meeting later today it might be good to discuss this https://gateway-api.sigs.k8s.io/contributing/#meetings |
|
@mikemorris I’d be happy to discuss this further. The meeting time is quite late in my timezone (India), so joining live may be difficult, but if it's really necessary for this discussion I can try to attend. If possible, I’d appreciate continuing the conversation on Slack instead. I'd love to get the team's guidance on the preferred structure for this content and on how to refine the TLS/SNI sections. I’m happy to iterate on the PR based on the team’s suggestions. Please let me know what works best. |
|
Ah don't worry about joining in that case, not worth getting up in the middle of the night for, we can continue discussion async here and/or in the #sig-network-gateway-api channel on Kubernetes Slack. |
|
Thanks for understanding! Happy to continue the discussion asynchronously here and on Slack. I’ve joined the #sig-network-gateway-api channel and will follow up there as well. |
|
|
||
| --- | ||
|
|
||
| ## 1. Before Choosing a Route: Check Your Gateway |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this should actually be combined with the "what to ask your administrator" section, as they are essentially saying the same thing.
I think that it's better to start this page with outlining the different Route types and what problems it solves.
|
|
||
| | Application Type | Route Type | Reason | | ||
| |------------------------|------------|-------------------------------| | ||
| | Website / REST API | HTTPRoute | Layer-7 routing, TLS termination | | ||
| | gRPC service | GRPCRoute | Service and method-based routing | | ||
| | HTTPS passthrough | TLSRoute | Backend terminates TLS | | ||
| | Database | TCPRoute | Raw TCP protocol | | ||
| | DNS | UDPRoute | Uses UDP | | ||
| | Game server | UDPRoute | Uses UDP | | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You could also reuse the Route summary table from https://gateway-api.sigs.k8s.io/concepts/api-overview/#route-summary-table, which includes the "Routing Discriminator" column - the idea of Routing Discriminators is really important for understanding which Route to use.
|
This looks good, thanks @ryurulz. Just needs a few changes to LGTM. |
|
@youngnick Thanks for the detailed feedback! I'll update the PR with the suggested changes, including:
I'll push an updated commit shortly. Thanks again for the review and guidance! |
Refine documentation based on reviewer feedback: updated route summary, improved TLS/SNI guidance, and consolidated prerequisites section
|
The updated commit is now pushed. I’ve applied all the suggested improvements, including the restructured introduction, Route Summary Table, combined prerequisites section, and expanded TLS/SNI guidance. Thanks for the helpful feedback—please let me know if anything else should be refined! |
This PR adds documentation explaining when to use HTTPRoute, GRPCRoute, TLSRoute, TCPRoute, and UDPRoute. It provides practical guidance to help users understand the differences between Route types and how to select the correct one based on protocol requirements, TLS termination behavior, and Gateway capabilities.
The new page includes:
Which issue(s) this PR fixes:
Fixes #4306
Type of PR:
/kind documentation
Does this PR introduce a user-facing change?