From 961194d85dd0c9d18492a99c9193faa7f1556968 Mon Sep 17 00:00:00 2001 From: "ricardo.bartels@telekom.de" Date: Fri, 12 Jul 2024 17:22:10 +0200 Subject: [PATCH] improves handling of Helm index with broken helm chart versions #13176 Signed-off-by: ricardo.bartels@telekom.de (cherry picked from commit 154b47755403f5d9e13fdabdca62aff7b25a5acf) --- pkg/repo/index.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkg/repo/index.go b/pkg/repo/index.go index 3baef3b4f..17d8d33e1 100644 --- a/pkg/repo/index.go +++ b/pkg/repo/index.go @@ -353,6 +353,10 @@ func loadIndex(data []byte, source string) (*IndexFile, error) { return i, err } + if i.APIVersion == "" { + return i, ErrNoAPIVersion + } + for name, cvs := range i.Entries { for idx := len(cvs) - 1; idx >= 0; idx-- { if cvs[idx] == nil { @@ -371,11 +375,10 @@ func loadIndex(data []byte, source string) (*IndexFile, error) { cvs = append(cvs[:idx], cvs[idx+1:]...) } } + // adjust slice to only contain a set of valid versions + i.Entries[name] = cvs } i.SortEntries() - if i.APIVersion == "" { - return i, ErrNoAPIVersion - } return i, nil }