diff --git a/pkg/repo/repo.go b/pkg/repo/repo.go index 5da66911e..e72efc6cb 100644 --- a/pkg/repo/repo.go +++ b/pkg/repo/repo.go @@ -131,7 +131,7 @@ func (r *ChartRepository) Index() error { created = time.Now().UTC().String() } - url := filepath.Join(r.URL, key+".tgz") + url := strings.TrimSuffix(r.URL, "/") + "/" + key + ".tgz" entry := &ChartRef{Chartfile: *chartfile, Name: chartfile.Name, URL: url, Created: created, Checksum: hash, Removed: false} diff --git a/pkg/repo/repo_test.go b/pkg/repo/repo_test.go index 7593d67fd..c105198d8 100644 --- a/pkg/repo/repo_test.go +++ b/pkg/repo/repo_test.go @@ -4,6 +4,7 @@ import ( "os" "path/filepath" "reflect" + "strings" "testing" "time" ) @@ -90,7 +91,7 @@ func TestIndex(t *testing.T) { if v.Created != created { t.Errorf("Expected Created timestamp to be %s, but got %s for chart %s", created, v.Created, chart) } - expectedURL := filepath.Join(cr.URL, chart+".tgz") + expectedURL := strings.TrimSuffix(cr.URL, "/") + "/" + chart + ".tgz" if v.URL != expectedURL { t.Errorf("Expected url in entry to be %s but got %s for chart: %s", expectedURL, v.URL, chart) }