Helm SDK从扩展存储库下载图表 [英] Helm SDK download chart from extenanl repository
本文介绍了Helm SDK从扩展存储库下载图表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要下载位于外部OCI存储库的图表,当我使用图表和版本的链接下载它并提供用户和密码时,它可以工作,但不能使用以下代码,这是我尝试的,但收到错误
无法下载版本为1.0.0的";https://fdr.cdn.repositories.amp/artifactory/control-1.0.0.tgz";(提示:运行helm repo update
可能会有帮助),如果我单击上面的链接,它会要求用户并通过(在浏览器中),当我提供它时(与代码中的相同)图表已下载,您知道为什么代码不起作用吗?
这就是我尝试的
package main
import (
"fmt"
"os"
"helm.sh/helm/v3/pkg/action"
"helm.sh/helm/v3/pkg/cli"
"helm.sh/helm/v3/pkg/repo"
)
var config *cli.EnvSettings
func main() {
config = cli.New()
re := repo.Entry{
Name: "control",
URL: "https://fdr.cdn.repositories.amp/artifactory/control",
Username: "myuser",
Password: "mypass",
}
file, err := repo.LoadFile(config.RepositoryConfig)
if err != nil {
fmt.Println(err.Error())
}
file.Update(&re)
file.WriteFile(config.RepositoryConfig, os.ModeAppend)
co := action.ChartPathOptions{
InsecureSkipTLSverify: false,
RepoURL: "https://fdr.cdn.repositories.amp/artifactory/control",
Username: "myuser",
Password: "mypass",
Version: "1.0.0",
}
fp, err := co.LocateChart("control", config)
if err != nil {
fmt.Println(err.Error())
}
fmt.Println(fp)
}
调试时我找到的错误所在的代码https://github.com/helm/helm/blob/release-3.6/pkg/downloader/chart_downloader.go#L352 它正在尝试查找我的笔记本电脑中不存在的缓存,我如何禁用它或其他解决方案以使其正常工作?
推荐答案
我认为您需要更新存储库,然后才能找到图表。
This是CLI用于更新资料库的代码。
和this是对资料库执行更新的函数。
这篇关于Helm SDK从扩展存储库下载图表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文