add checker if local dir is chart dir or not

Signed-off-by: Suleiman Dibirov <idsulik@gmail.com>
pull/13095/head
Suleiman Dibirov 1 year ago
parent 0b2229c3eb
commit 825d43d831

@ -745,21 +745,28 @@ func (c *ChartPathOptions) LocateChart(name string, settings *cli.EnvSettings) (
name = strings.TrimSpace(name) name = strings.TrimSpace(name)
version := strings.TrimSpace(c.Version) 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) abs, err := filepath.Abs(name)
if err != nil { if err != nil {
return abs, err return abs, err
} }
if c.Verify { if c.Verify {
if _, err := downloader.VerifyChart(abs, c.Keyring); err != nil { if _, err := downloader.VerifyChart(abs, c.Keyring); err != nil {
return "", err 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 return abs, nil
} }
} }
if filepath.IsAbs(name) || strings.HasPrefix(name, ".") { if filepath.IsAbs(name) || strings.HasPrefix(name, ".") {
return name, errors.Errorf("path %q not found", name) return name, errors.Errorf("path %q not found", name)
} }

Loading…
Cancel
Save