-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Description
Is your feature request related to a problem? Please describe.
The Listener.hostname
field is optional. The field HTTPRouteSpec.hostnames
is normally used to match "virtual" hostnames to backends. If hostnames are not specified in the listener, they may still be known by routes that support hostname matching (which I think is only HTTPRoute
and GRPCRoute
right now.)
It would be practical if I didn't have to duplicate listeners for cert-manager, when the Gateway API (using Envoy in my case) supports not doing it.
Describe the solution you'd like
Checking supporting routes for additional hostnames, and matching the routes to gateway listeners would be the obvious solution.
This also means that a single listener in a Gateway may serve multiple hostnames, which AFAICT, cert-manager does not currently support. (?)
Describe alternatives you've considered
It is possible that GatewayStatus.addresses
contains hostnames that could be used instead. I have yet to investigate that.
Edit: No, it doesn't look like it is populated with information from routes by Envoy.
Almost-duplicating listeners doesn't feel as nice as just adding a route resource. Coming from Traefik using route discovery with Docker labels, this is more tedious.
/kind feature