nats-io / k8s

NATS on Kubernetes with Helm Charts
Apache License 2.0
444 stars 300 forks source link

Add gatewayAPI HTTPRoute ressources, same as Ingress #885

Open sboulkour opened 4 months ago

sboulkour commented 4 months ago

What motivated this proposal?

Gateway API reached v1.0 late october 2023 (https://gateway-api.sigs.k8s.io/) and is targeted to replace Ingresses,

Many Ingress Controller project do already support Gateway API or intend to do it : https://gateway-api.sigs.k8s.io/implementations/ (See k8s ingress-nginx current implementation work https://github.com/kubernetes/ingress-nginx/issues/7517#issuecomment-2025441175)

My proposal is to add in chart(s) the Gateway API ressources as alternatives to the Ingress ressources. As people do migrate in the coming month and maybe years, we should be able to debloy NATS with nothing, or with ingress or with gatewayAPI.

On a side note, if this of any help, k8s SIG gateway API maintains a Ingress to gateway API ressources converting tool : https://github.com/kubernetes-sigs/ingress2gateway

What is the proposed change?

In my mind, it should be possible to deploy none, ingress or Gateway API (not both). But it is matter of debate and design. It shouldn't impact current chart other than adding new ressources templates (HTTPRoute).

Who benefits from this change?

Any k8s cluster consumers that are testing or have switched to Gateway API as replacement to Ingress ressources. Should be only few for now, but will grow fast as all ingress controllers are releasing their implementations GatewayAPI.

What alternatives have you evaluated?

No response