From 825d43d831b9c5e803924dc7a27407d1c7003cb3 Mon Sep 17 00:00:00 2001 From: Suleiman Dibirov Date: Sat, 8 Jun 2024 12:31:33 +0300 Subject: [PATCH] add checker if local dir is chart dir or not Signed-off-by: Suleiman Dibirov --- pkg/action/install.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pkg/action/install.go b/pkg/action/install.go index e6fa115d6..5fcc76b02 100644 --- a/pkg/action/install.go +++ b/pkg/action/install.go @@ -745,21 +745,28 @@ func (c *ChartPathOptions) LocateChart(name string, settings *cli.EnvSettings) ( name = strings.TrimSpace(name) version := strings.TrimSpace(c.Version) - if _, err := os.Stat(name); err == nil { + if fileInfo, err := os.Stat(name); err == nil { abs, err := filepath.Abs(name) if err != nil { return abs, err } + if c.Verify { if _, err := downloader.VerifyChart(abs, c.Keyring); err != nil { return "", err } } - if isChartDir, _ := chartutil.IsChartDir(abs); isChartDir { + if fileInfo.IsDir() { + // If a local directory is not a chart, we'll try to use remote chart + if isChartDir, _ := chartutil.IsChartDir(abs); isChartDir { + return abs, nil + } + } else { return abs, nil } } + if filepath.IsAbs(name) || strings.HasPrefix(name, ".") { return name, errors.Errorf("path %q not found", name) }