From 3cdc89723696c5215aa1d6579f7118c832e81af3 Mon Sep 17 00:00:00 2001 From: Hidde Beydals Date: Thu, 28 Jan 2021 12:25:44 +0100 Subject: [PATCH] Assume local dependency without Helm repository This commit fixes a bug where local chart dependencies would not be detected correctly due to the absence of a repository URL. Signed-off-by: Hidde Beydals --- controllers/helmchart_controller.go | 2 +- internal/helm/dependency_manager.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/controllers/helmchart_controller.go b/controllers/helmchart_controller.go index 88eb50c5..a8278c61 100644 --- a/controllers/helmchart_controller.go +++ b/controllers/helmchart_controller.go @@ -537,7 +537,7 @@ func (r *HelmChartReconciler) reconcileFromTarballArtifact(ctx context.Context, } // Continue loop if file scheme detected - if strings.HasPrefix(dep.Repository, "file://") { + if dep.Repository == "" || strings.HasPrefix(dep.Repository, "file://") { dwr = append(dwr, &helm.DependencyWithRepository{ Dependency: dep, Repository: nil, diff --git a/internal/helm/dependency_manager.go b/internal/helm/dependency_manager.go index b6e9b982..906928ed 100644 --- a/internal/helm/dependency_manager.go +++ b/internal/helm/dependency_manager.go @@ -156,7 +156,7 @@ func (dm *DependencyManager) secureLocalChartPath(dep *DependencyWithRepository) if err != nil { return "", fmt.Errorf("failed to parse alleged local chart reference: %w", err) } - if localUrl.Scheme != "file" { + if localUrl.Scheme != "" && localUrl.Scheme != "file" { return "", fmt.Errorf("'%s' is not a local chart reference", dep.Dependency.Repository) } return securejoin.SecureJoin(dm.WorkingDir, filepath.Join(dm.ChartPath, localUrl.Host, localUrl.Path))