Skip to content
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

add backend protocol to implementers guide #3176

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions site-src/guides/implementers.md
Original file line number Diff line number Diff line change
Expand Up @@ -355,3 +355,13 @@ or both.
Implementations that support cross-namespace references MUST watch ReferenceGrant
and reconcile any ReferenceGrant that points to an object that's referred to by
an in-scope Gateway API object.

## Backend Protocol

Not all implementations of Gateway API support automatic protocol selection. In some cases protocols are disabled without an explicit opt-in.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: It would be good to reword this to focus on the context that this is the Implementer's Guide, and thus intended for implementers to read. What do implementers need to know about this feature? I think the focus in this guide should be to talk about how you might implement it, what this concept usually maps to in common underlying dataplanes like Envoy or NGINX, and where implementers can find more information (I think you already have that part in "References", but it might be good to have more specifics such as the well defined protocols that we recommend implementations support. It would also be good to include keywords such as websockets and HTTP/2 for implementers that may be looking for how to support these concepts with their Gateway API implementation.


When a Route's backend references a Kubernetes Service, application developers can specify the protocol using ServicePort appProtocol field.

References:
[Backend Protocol Selection](https://gateway-api.sigs.k8s.io/guides/backend-protocol/) within the user guide.
[GEP-1911: Backend Protocol Selection](https://gateway-api.sigs.k8s.io/geps/gep-1911/#supporting-protocols)