Description
What happened:
When trying to enable the conformance profiles enabled test suite for an implementation that supports Gateway
but does NOT support HTTP
/HTTPRoute
, I discovered that we default to that protocol for the base manifests:
https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/base/manifests.yaml#L26
https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/utils/suite/suite.go#L131
This default doesn't make sense for an ingress implementation which doesn't support HTTPRoute
.
Additionally, we have several tests that claim to only require support for Gateway
but fail if the implementation doesn't present HTTPRoute
in SupportedKinds
, and generally rely on HTTPRoute
.
What you expected to happen:
We need a way for the default cSuite.Setup()
to work on ingress implementations that may not support the common HTTPRoute
type. Mesh did this by providing different base manifests, and that's potentially on the table here, but it seems a little weird. Alternatively it might be reasonable to just make this more dynamic. We'll need to talk it over a bit.