vcluster
vcluster copied to clipboard
use Helm Go SDK instead of using binary
Hello, it would be nice to use Helm Go SDK to avoid using binary itself. It makes the vCluster easier to use in CI/CD environments.
- https://helm.sh/docs/topics/advanced/#go-sdk
- https://pkg.go.dev/helm.sh/helm/v3
- https://stackoverflow.com/questions/45692719/samples-on-kubernetes-helm-golang-client
- https://www.reddit.com/r/golang/comments/mtvm96/install_helm_chart_using_go_programmatically/
cc: @dentrax @erkanzileli @eminaktas
@developer-guy I'd usually agree with you. Less external dependencies and easier use leads to better UX, but in this case it's tricky:
We had that in DevSpace before and it blew up the project size, made it impossible to use different helm versions or helm plugins and such, and it led to annoying dependency conflicts, so I don't think we should go down that route again in vcluster CLI given the bad previous experiences in DevSpace with using helm client over helm binary. We could, however, make it easier to consume by providing a CI image or auto-downloading helm like we do in DevSpace.
We have found blocking problems with dependencies when trying to use helm Go library, so instead, we made an enhancement in this area - vcluster CLI will download helm binary automatically if it can't find it (#730). This got released in v0.12.0. Is that sufficient for your use case @developer-guy?