X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=capifcore%2Finternal%2Fhelmmanagement%2Fhelm.go;h=99c27cc9a2f5390086db3207f49346ec50a5ff6d;hb=2ba4580c67fbe7994141e4cd2701f7bd22b69ebf;hp=b43ee0ff247eee7ff9ac7bbf4965f23f45c022da;hpb=9c5011e97e791f96a8700fc1fc5d5b4f6fef223e;p=nonrtric%2Fplt%2Fsme.git diff --git a/capifcore/internal/helmmanagement/helm.go b/capifcore/internal/helmmanagement/helm.go index b43ee0f..99c27cc 100644 --- a/capifcore/internal/helmmanagement/helm.go +++ b/capifcore/internal/helmmanagement/helm.go @@ -41,13 +41,14 @@ import ( //go:generate mockery --name HelmManager type HelmManager interface { - AddToRepo(repoName, url string) error + SetUpRepo(repoName, url string) error InstallHelmChart(namespace, repoName, chartName, releaseName string) error UninstallHelmChart(namespace, chartName string) } type helmManagerImpl struct { settings *cli.EnvSettings + repo *repo.ChartRepository } func NewHelmManager(s *cli.EnvSettings) *helmManagerImpl { @@ -56,7 +57,7 @@ func NewHelmManager(s *cli.EnvSettings) *helmManagerImpl { } } -func (hm *helmManagerImpl) AddToRepo(repoName, url string) error { +func (hm *helmManagerImpl) SetUpRepo(repoName, url string) error { repoFile := hm.settings.RepositoryConfig //Ensure the file directory exists as it is required for file locking @@ -85,9 +86,12 @@ func (hm *helmManagerImpl) AddToRepo(repoName, url string) error { URL: url, } - r, err := repo.NewChartRepository(&c, getter.All(hm.settings)) - if err != nil { - return err + r := hm.repo + if r == nil { + r, err = repo.NewChartRepository(&c, getter.All(hm.settings)) + if err != nil { + return err + } } if _, err := r.DownloadIndexFile(); err != nil {