Helm go sdk 从外部位置安装图表

我使用以下代码来安装在我的源代码中有界的图表(例如,在我的go bin应用程序中),现在我需要将图表移动到git存储库工件app/chart/chart1

我的问题是,如何从程序外部安装图表?

这是我使用的代码,适用于捆绑图表

我使用加载程序包,当我将图表捆绑在我的应用程序中时,它可以正常工作helm3

chart, err := loader.Load(“chart/chart1”)

https://pkg.go.dev/helm.sh/helm/v3@v3.5.4/pkg/chart/loader

我应该以某种方式加载它与http调用或头盔有一些内置功能?我们需要一些有效的方法来处理它


翻过高山走不出你
浏览 228回答 3
3回答

慕运维8079593

您可以使用类似这样的东西来安装图表nginx    myChart, err := loader.Load("https://charts.bitnami.com/bitnami/nginx-8.8.4.tgz")...    install := action.NewInstall(m.actionConfig)    install.ReleaseName = "my-release"...    myRelease, err := install.Run(myChart, myValues)它类似于:helm install my-release https://charts.bitnami.com/bitnami/nginx-8.8.4.tgz

开心每一天1111

似乎 helm 在其升级/安装命令期间首先检查几个不同的位置,您可以看到这些位置在这里被调用。该函数的内容在这里。然后继续在这里loader.Load

一只斗牛犬

loader.load仅检查文件和目录。如果要使用URL,sdk在安装界面中提供了方法。下面是一个示例:LocateChartsettings := cli.New()actionConfig := new(action.Configuration)if err := actionConfig.Init(settings.RESTClientGetter(), settings.Namespace(), os.Getenv("HELM_DRIVER"), log.Printf); err != nil {        log.Printf("%+v", err)        os.Exit(1)        }client := action.NewInstall(actionConfig)chrt_path, err := client.LocateChart("https://github.com/kubernetes/ingress-nginx/releases/download/helm-chart-4.0.6/ingress-nginx-4.0.6.tgz", settings); if err != nil {        panic(err)}myChart, err := loader.Load(chrt_path); if err != nil {        panic(err)}然后,您可以简单的设置安装选项和调用方法。client.Run
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go