-
Notifications
You must be signed in to change notification settings - Fork 714
EG cannot collapse the base Gateways defined in the conformance tests #349
Description
Gateway API conformance defines a base set of 3 Gateways, all using the same GatewayClass: https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/base/manifests.yaml#L16-L62
EG's design is to be 1:1 with a GatewayClass, with a single address for all Gateways for that class. As such, all Listeners across all of the Gateways need to be compatible/collapsed, per https://github.com/kubernetes-sigs/gateway-api/blob/main/apis/v1beta1/gateway_types.go#L72-L106.
Unfortunately, the Gateways defined for conformance are not collapsible: they each specify an HTTP Listener on port 80 with no specific hostname. EG is going to see those as conflicting, and not be able to program them. However, these Gateways are definitely valid, according to Gateway API. There's no requirement that Listeners across Gateways of a given GatewayClass be collapsible.
Seems like there are a few ways we could deal with this:
- consider these Gateways' Listeners compatible/collapsible -- this seems problematic, would mean all the routes across all the Gateways would get munged together
- give each Gateway a unique address
- something else?
cc @youngnick, would appreciate your thoughts on this since I know you have historical context re: merging Listeners across Gateways.