Kuadrant / kuadrant-controller

Apache License 2.0
12 stars 7 forks source link

Support targeting a TLSRoute with the target ref #142

Closed maleck13 closed 2 years ago

maleck13 commented 2 years ago

What

support targeting the TLSRoute object with RLP

maleck13 commented 2 years ago

no use case yet

eguzki commented 2 years ago

This is unexpected. I was assuming TLSRoute was the recommended option for production environments. Feels like plain HTTP is a deprecated protocol in favor of HTTP over TLS (or GRPC over TLS)

maleck13 commented 2 years ago

Yeah HTTPRoute :

HTTPRoute is for multiplexing HTTP or terminated HTTPS connections. It's intended for use in cases where you want to inspect the HTTP stream and use HTTP request data for either routing or modification, for example using HTTP Headers for routing, or modifying them in-flight.
TLSRoute[¶](https://gateway-api.sigs.k8s.io/concepts/api-overview/#tlsroute)
TLSRoute is for multiplexing TLS connections, discriminated via SNI. It's intended for where you want to use the SNI as the main routing method, and are not interested in properties of the higher-level protocols like HTTP. The byte stream of the connection is proxied without any inspection to the backend.

So wondering if TLSRoute makes sense currently? Not that we couldn't support it in the future but I think we need the HTTP protocol as there is no option for path based rules in TLSRoute

eguzki commented 2 years ago

Ok, I see.

So, a Gateway may terminate the TLS connections and then route based on the configuration from a HTTPRoute object based on HTTP level info (Host header, path,...) already available after decoding the channel.

Thanks for the big picture