contour
contour copied to clipboard
Have Gateway Provisioner give Envoy Service Port protocol hints by setting AppProtocol field
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.
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
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