godaddy / kubernetes-client

Simplified Kubernetes API client for Node.js.
MIT License
961 stars 193 forks source link

Unmaintained Project? #705

Open godber opened 3 years ago

godber commented 3 years ago

Are any of the original authors (@silasbw?) still here and able to comment on their (or GoDaddy's) intent to continue or discontinue maintenance on this project? From the looks of it the original author has moved on to other things.

I have been using this for a few years and only started because it was the only thing available before the official client was made available for Javascript:

https://github.com/kubernetes-client/javascript

I am more likely to just move to the official client than try and fork or maintain this myself.

Austin

linkdd commented 3 years ago

The official client doesn't use Swagger Fluent though.

luchillo17 commented 2 years ago

It's been a year since, is it actually unmaintained? I see 75 unresolved issues...

godber commented 2 years ago

Last commit on Master was in 2020.

https://github.com/godaddy/kubernetes-client/commits/master

Last closed issue was June 2021:

https://github.com/godaddy/kubernetes-client/issues?q=is%3Aissue+is%3Aclosed

godber commented 2 years ago

When I initially wrote this issue, I took a few minutes to update the dependencies and run the tests. I seem to recall they passed without issues, but I haven't looked to see what all is tested. I know we'd have to migrate off of the requests package to something like got or whatever. I've not really looked at the other open issues, but maybe in a couple months I can fork this to at least maintain it at a minimal level.

Is there anyone else making real use of this library?

linkdd commented 2 years ago

@godber I've written an SDK to write Kubernetes Operators based on this library: https://sdk.datapio.co/docs/k8s-operator/

I've used it to write PoCs before switching to Elixir.

If this library were to be maintained again, I would switch immediately to the fork and start maintenance again on my SDK (currently stable, needs to merge some dependabot PRs).

luchillo17 commented 2 years ago

Can't disclose the project I'm working on, but we're moving away from DJango so I'm looking for a lightweight Pykube-ng equivalent in NodeJS to keep the image size down, unfortunately the official can size up to 6MB while the Pykube-ng is like 180Kb, we can roll with the official but if possible I'll like to use a simpler, smaller alternative.

C17AN commented 2 years ago

Are there any reasons for using this community library instead of official library?

linkdd commented 2 years ago

Are there any reasons for using this community library instead of official library?

This library provides a fluent API which is far easier to use.

godber commented 2 weeks ago

We are now getting the following error in a K8s cluster where we added prometheus-adapter:

[2024-11-01T21:53:57.906Z] ERROR: teraslice/18 on teraslice-master: error during service initialization (assignment=cluster_master, module=cluster_master, worker_id=kDI9J467, err.code=INTERNAL_SERVER_ERROR)
    TSError: Failure calling k8s loadSpec, caused by Error: Failed to get /openapi/v2 and /swagger.json: Created Component, but require templated one. This is a bug. Please report: https://github.com/silasbw/fluent-openapi/issues
        at K8s.init (file:///app/source/packages/teraslice/dist/src/lib/cluster/services/cluster/backends/kubernetes/k8s.js:45:27)
        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
        at async KubernetesClusterBackend.initialize (file:///app/source/packages/teraslice/dist/src/lib/cluster/services/cluster/backends/kubernetes/index.js:191:9)
        at async ClusterMaster.initialize (file:///app/source/packages/teraslice/dist/src/lib/cluster/cluster_master.js:108:13)
        at async Service.initialize (file:///app/source/packages/teraslice/cluster-service.js:26:9)
        at async main (file:///app/source/packages/teraslice/cluster-service.js:53:9)

This is the error others might encounter: caused by Error: Failed to get /openapi/v2 and /swagger.json: Created Component, but require templated one

Fortunately we are in the process of deprecating our use of kubernetes-client.