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

Have Gateway Provisioner give Envoy Service Port protocol hints by setting AppProtocol field #6294

Open
sunjayBhatia opened this issue Mar 19, 2024 · 1 comment
Labels
area/gateway-api Issues or PRs related to the Gateway (Gateway API working group) API. area/gateway-provisioner Issues or PRs related to the Gateway provisioner kind/feature Categorizes issue or PR as related to a new feature. lifecycle/needs-triage Indicates that an issue needs to be triaged by a project contributor. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale.

Comments

@sunjayBhatia
Copy link
Member

Please describe the problem you have

For integrations of Gateway API and Contour like knative's net-gateway-api, there is no great way right now to know which Envoy Service ports are for which protocols. net-gateway-api uses these ports to probe Envoy to see when an route is fully ready and serving traffic (of course if we had some of this logic implemented in Contour and were able to do this ourselves, set the right conditions on HTTPRoutes, etc. then this would be moot...).

Right now we name Envoy Service ports with the protocol and port number requested by Listeners, e.g. http-80 for an HTTP Listener on port 80 or https-443 for an HTTPS Listener on port 443. net-gateway-api currently assumes what ports it needs to probe based on the name and AppProtocol field (see logic here). The logic is somewhat tied to how Istio does things currently.

In lieu of a formal way to configure this information recommended by the Gateway API, this seems like what the AppProtocol field is designed for. We can offer net-gateway-api a hint as to which ports are HTTP vs. HTTPS by setting the AppProtocol field on the Envoy Service port based on the requested Gateway Listener protocol etc.

@sunjayBhatia sunjayBhatia added kind/feature Categorizes issue or PR as related to a new feature. lifecycle/needs-triage Indicates that an issue needs to be triaged by a project contributor. area/gateway-api Issues or PRs related to the Gateway (Gateway API working group) API. area/gateway-provisioner Issues or PRs related to the Gateway provisioner labels Mar 19, 2024
Copy link

The Contour project currently lacks enough contributors to adequately respond to all Issues.

This bot triages Issues according to the following rules:

  • After 60d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, the Issue is closed

You can:

  • Mark this Issue as fresh by commenting
  • Close this Issue
  • Offer to help out with triage

Please send feedback to the #contour channel in the Kubernetes Slack

@github-actions github-actions bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label May 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/gateway-api Issues or PRs related to the Gateway (Gateway API working group) API. area/gateway-provisioner Issues or PRs related to the Gateway provisioner kind/feature Categorizes issue or PR as related to a new feature. lifecycle/needs-triage Indicates that an issue needs to be triaged by a project contributor. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale.
Projects
None yet
Development

No branches or pull requests

1 participant