Skip to content

Conversation

@ryurulz
Copy link

@ryurulz ryurulz commented Dec 7, 2025

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:

  • What to verify on a Gateway before selecting a Route
  • How each Route type works and its intended use cases
  • A decision table for mapping workloads to Route types
  • Guidance on when to use HTTPRoute vs TLSRoute for HTTPS traffic
  • Key questions to confirm with administrators
  • Examples for each Route type

Which issue(s) this PR fixes:

Fixes #4306

Type of PR:
/kind documentation

Does this PR introduce a user-facing change?

Add documentation for selecting the correct Route type.

Documentation explaining when to use HTTPRoute, GRPCRoute, TLSRoute, TCPRoute, and UDPRoute.
@k8s-ci-robot
Copy link
Contributor

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.

@k8s-ci-robot k8s-ci-robot added kind/documentation Categorizes issue or PR as related to documentation. do-not-merge/release-note-label-needed Indicates that a PR should not merge because it's missing one of the release note labels. labels Dec 7, 2025
@linux-foundation-easycla
Copy link

linux-foundation-easycla bot commented Dec 7, 2025

CLA Signed

The committers listed above are authorized under a signed CLA.

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: ryurulz
Once this PR has been reviewed and has the lgtm label, please assign thockin for approval. For more information see the Code Review Process.

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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot
Copy link
Contributor

Welcome @ryurulz!

It looks like this is your first PR to kubernetes-sigs/gateway-api 🎉. Please refer to our pull request process documentation to help your PR have a smooth ride to approval.

You will be prompted by a bot to use commands during the review process. Do not be afraid to follow the prompts! It is okay to experiment. Here is the bot commands documentation.

You can also check if kubernetes-sigs/gateway-api has its own contribution guidelines.

You may want to refer to our testing guide if you run into trouble with your tests not passing.

If you are having difficulty getting your pull request seen, please follow the recommended escalation practices. Also, for tips and tricks in the contribution process you may want to read the Kubernetes contributor cheat sheet. We want to make sure your contribution gets all the attention it needs!

Thank you, and welcome to Kubernetes. 😃

@k8s-ci-robot k8s-ci-robot added cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Dec 7, 2025
@k8s-ci-robot
Copy link
Contributor

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 /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

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.

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. and removed cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. labels Dec 7, 2025
@mikemorris
Copy link
Contributor

/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

@k8s-ci-robot k8s-ci-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Dec 8, 2025
@ryurulz
Copy link
Author

ryurulz commented Dec 8, 2025

@mikemorris
Thanks for the quick review!

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.

@mikemorris
Copy link
Contributor

mikemorris commented Dec 8, 2025

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.

@ryurulz
Copy link
Author

ryurulz commented Dec 9, 2025

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
Copy link
Contributor

@youngnick youngnick Dec 10, 2025

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.

Comment on lines 183 to 192

| 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 |

Copy link
Contributor

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.

@youngnick
Copy link
Contributor

This looks good, thanks @ryurulz. Just needs a few changes to LGTM.

@ryurulz
Copy link
Author

ryurulz commented Dec 10, 2025

@youngnick Thanks for the detailed feedback!

I'll update the PR with the suggested changes, including:

  • Moving the Route Types section to the top of the page
  • Adding a Route Summary Table based on the official documentation
  • Combining the prerequisites and administrator checks into one section
  • Expanding the TLS termination and SNI routing guidance
  • Improving the overall structure for clarity

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
@ryurulz
Copy link
Author

ryurulz commented Dec 11, 2025

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!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. do-not-merge/release-note-label-needed Indicates that a PR should not merge because it's missing one of the release note labels. kind/documentation Categorizes issue or PR as related to documentation. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document when each type of route should be used

4 participants