HEP: add support for Gateway API
Why do you need it?
Gateway API has more advantages than Ingress, like role oriented design which separates developers and operators, and clearer spec to more common abilities of traffic management definations, more protocols supports (HTTP/HTTPS/TLS/TCP/UDP/GRPC)
How could it be?
- [ ] Add support for L7 APIs supports
- [ ] Add support for L4 APIs supports
Other related information
https://gateway-api.sigs.k8s.io
Do you have a basic technical roadmap, such as whether it is based on the Envoy gateway?
Hey @Lynskylate I need more feedbacks / background from @johnlanni , after that I will start to do the design of gwapi support.
In a short term, I think we should add support to gwapi with current infrastructure.
In a long term, I think we can support to gwapi by EG.
FYI, EG starts to work on multiple extending approaches for gateway venders, especially matches the needs of Higress, also for Emissary and Contour.
Regarding Higress Console, it shall support both Gateway API and Ingress, and save route configurations using Gateway API CRDs if available. It shall also provide a configuration page so user can switch back to Ingress. All existed Gateway API CRs shall be converted to Ingress CRs in order to make a successful switch.
However, since Ingress doesn't support L4 routes, if there are some L4 routes in the system, they won't be (in fact, unable) converted to Ingress. But shall we disable the switching to Ingress function if L4 routes are found?
Why do we need to support convert gwapi to ingress, it does not make sense, and it is a regression.
What we need to do is to only support convert ingress to gwapi, many abilities are missing in ingress but existed in gwapi, so convertions from gwapi to ingress is not working when we use TCP/UDP Route, but also GRPCRoute/TLSRoute
Correct me if I misunderstand something @CH3CHO, thanks.
Why do we need to support convert gwapi to ingress, it does not make sense.
What we need to do is to only support convert ingress to gwapi, many abilities are missing in ingress but existed in gwapi, so convertions from gwapi to ingress is not working when we use TCP/UDP Route, but also GRPCRoute/TLSRoute
It's just in case that we have some bugs in the implementation of GWAPI, or the user just doesn't want to use GW API although the K8s cluster supports it. Anyway, we can have the ability of converting GWAPI to Ingress, but maybe we don't need to present it on the webpage. @Xunzhuo