l7mp / stunner-gateway-operator

STUNner Kubernetes Gateway Operator
Apache License 2.0
15 stars 6 forks source link

Introduce aliases for specifying the protocol in Gateway listeners #28

Closed rg0now closed 1 year ago

rg0now commented 1 year ago

Currently L4 and L7 protocols are mapped to a single Protocol field in Gateway listeners (this is a limitation of the Gateway API that does not have an AppProtocol field). This causes all sorts of problems in STUNner where different L7 protocols can be combined (or will be combined in a later release) with different L4 protocols.

Currently setting the listener protocol to UDP actually means to use "TURN over a UDP transport", TCP means "TURN over TCP", etc. Later, we may want to introduce pure-UDP and pure TCP-listeners (i.e., without TURN), but given the current state of the art there will be no way to distinguish between the two since, for instance, Protocol=UDP may mean either "TURN over UDP" or "pure UDP".

The plan is to introduce more descriptive names for specifying TURN listener protocols as follows:

Currently these "long protocol names" would be simple aliases to the existing "short names", but in the long run we will deprecate the short names and mandate the long names instead (i.e., we would require TURN-UDP to start a "TURN over UDP" listener, UDP would fall back to a pure-UDP listener).

This issue is tracking the progress on implementing this change.