virtual-kubelet / node-cli

CLI library for rapid prototyping of virtual-kubelet nodes
Apache License 2.0
18 stars 30 forks source link

Confusion about building a new provider #7

Closed uzuku closed 5 years ago

uzuku commented 5 years ago

I saw that azure-aci provider has adopted this module to generate the command, however the README said this module is not intend to be used in production. In other providers' repo, each one has its own command package. So my question is which pattern should i follow if i want to build a new provider base on virtual-kubelet v1.x ? or the best practice is still TBD?

cpuguy83 commented 5 years ago

This is essentially a copy of the old cli we had in the main vk repo before we split providers out of tree.

The reason one wouldn't use it for "production" is because we may still change the package api, command layout, etc. between releases.

uzuku commented 5 years ago

@cpuguy83 Thanks for the explanation. So the substantial difference between node-cli and cli package located in each provider is that node-cli may still have breaking change while others do not, but they are not so different in availability.

Then I tend to choose the current node-cli version as a start up, as breaking changes will only affect at module version bump, it is up to me that if i should follow the new version or wait for a more stable one.

Please correct me if i was wrong.

cpuguy83 commented 5 years ago

The cli package in each provider exists as a direct copy of what used to be in github.com/virtual-kubelet/virtual-kubelet. We did not want to support the CLI package long term and felt most projects would be better off building their own CLI even if there is some overlap, trying to generalize things is really hard and makes compromises.

This repo exists because people asked for a way to rapidly prototype things, and it is an experiment in helping with that.

uzuku commented 5 years ago

Oh I see, so I'd better get a copy of this cli package as a startup and polish it by myself. Thanks for your explanation.