hiddeco / cronjobber

Cronjobber is a cronjob controller for Kubernetes with support for time zones
Apache License 2.0
244 stars 38 forks source link

Support for client-go >=0.18.0 #43

Open hmlkao opened 3 years ago

hmlkao commented 3 years ago

There is breaking change in client-go v0.18.0 when is context required for REST client and is not possible to use generated clientset because context is missing (eg. in Get() function).

DoD:

hiddeco commented 3 years ago

You are absolutely right! This project is (sadly) suffering from my other (day job) OSS work.

If I would have a chance to redo this project, I would most likely write it from the ground up using controller-runtime while keeping the API specification the same. Reason is that there have been reports that the current core controller could be more efficient, and it increases long-term maintainability.

In addition, I would keep the API free from a typed client, and instead tell consumers to add the scheme to their dynamic client.

Getting this into a long-term maintainable shape again is something I am not likely going to do anytime soon, but I am open to review any contributions, including more complex ones. If someone wants to take on the task of maintaining this, you can reach out to me too. Either by commenting here, or sending me a message at hello - at - hidde - dot - co.

jalonsoa commented 2 years ago

Hi ! I have opened a pull request to update the kubernetes libraries and the associated go version (go 1.18 and kubernetes 0.24).

We have to review the tests, since they were executed with the image of circleci/golang and there is no image for version 1.18 of go.