l7mp / stunner-gateway-operator

STUNner Kubernetes Gateway Operator
Apache License 2.0
15 stars 6 forks source link

Upgrade to Gateway API v1.0 #37

Closed davidkornel closed 10 months ago

davidkornel commented 1 year ago

In the latest versions of Kubernetes the deprecated v1alpha2 API has been removed definitively. I cannot provide any docs but I hope to find some exact details. I gathered this information from the Kubernetes Slack channel. image

This error is raised only when the gateway class and gateway are being updated. Not sure @rg0now if you know about this but it doesn't matter what API version we create the resources with. It will be overwritten on the first upgrade event from the operator. In this line the API version will be ignored and will be set to v1alpha2 and used further on during the whole process.

The main problem that this raises is that the operator won't be able to run on the latest versions of k8s.

rg0now commented 1 year ago

I'm not sure it's a Kubernetes issue, I'd rather say it's most probably GKE advancing really fast. That being said, this will need to be fixed before the new release: our GatewayClass and Gateway must be upgraded to v1beta1. The idea is that every time we create/manage/delete/watch any Gateway API resource we must update the package version from v1alpha2 to v1beta1. This will be a PITA because all the zillions places in the code and the tests where we refer to a Gateway or GatewayClass the reference will have to be updated. AFAIK UDPRoutes have not migrated to v1beta1 (yet?), so only GatewayClass and Gateway are affected. Any takers?

rg0now commented 1 year ago

With the Gateway API going GA, we should repurpose this issue to move the operator to the Gateway API v1.0.

davidkornel commented 1 year ago

Another fact that hurries us to upgrade is that some Gateway API users, e.g., Envoy-gateway, are already using the v1.0 API which is not compatible with our current state.

levaitamas commented 10 months ago

Done in v0.17.0.