Merge commit from fork

release-3.18 fix
release-3.18
Robert Sirchia 1 month ago committed by GitHub
commit ec5f59e2db
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -16,6 +16,7 @@ limitations under the License.
package chartutil package chartutil
import ( import (
"fmt"
"log" "log"
"strings" "strings"
@ -255,8 +256,8 @@ func processImportValues(c *chart.Chart, merge bool) error {
for _, riv := range r.ImportValues { for _, riv := range r.ImportValues {
switch iv := riv.(type) { switch iv := riv.(type) {
case map[string]interface{}: case map[string]interface{}:
child := iv["child"].(string) child := fmt.Sprintf("%v", iv["child"])
parent := iv["parent"].(string) parent := fmt.Sprintf("%v", iv["parent"])
outiv = append(outiv, map[string]string{ outiv = append(outiv, map[string]string{
"child": child, "child": child,

@ -151,6 +151,9 @@ func validateChartVersion(cf *chart.Metadata) error {
func validateChartMaintainer(cf *chart.Metadata) error { func validateChartMaintainer(cf *chart.Metadata) error {
for _, maintainer := range cf.Maintainers { for _, maintainer := range cf.Maintainers {
if maintainer == nil {
return errors.New("a maintainer entry is empty")
}
if maintainer.Name == "" { if maintainer.Name == "" {
return errors.New("each maintainer requires a name") return errors.New("each maintainer requires a name")
} else if maintainer.Email != "" && !govalidator.IsEmail(maintainer.Email) { } else if maintainer.Email != "" && !govalidator.IsEmail(maintainer.Email) {

@ -143,6 +143,16 @@ func TestValidateChartMaintainer(t *testing.T) {
t.Errorf("validateChartMaintainer(%s, %s) to return no error, got %s", test.Name, test.Email, err.Error()) t.Errorf("validateChartMaintainer(%s, %s) to return no error, got %s", test.Name, test.Email, err.Error())
} }
} }
// Testing for an empty maintainer
badChart.Maintainers = []*chart.Maintainer{nil}
err := validateChartMaintainer(badChart)
if err == nil {
t.Errorf("validateChartMaintainer did not return error for nil maintainer as expected")
}
if err.Error() != "a maintainer entry is empty" {
t.Errorf("validateChartMaintainer returned unexpected error for nil maintainer: %s", err.Error())
}
} }
func TestValidateChartSources(t *testing.T) { func TestValidateChartSources(t *testing.T) {

@ -357,6 +357,7 @@ func loadIndex(data []byte, source string) (*IndexFile, error) {
for idx := len(cvs) - 1; idx >= 0; idx-- { for idx := len(cvs) - 1; idx >= 0; idx-- {
if cvs[idx] == nil { if cvs[idx] == nil {
log.Printf("skipping loading invalid entry for chart %q from %s: empty entry", name, source) log.Printf("skipping loading invalid entry for chart %q from %s: empty entry", name, source)
cvs = append(cvs[:idx], cvs[idx+1:]...)
continue continue
} }
// When metadata section missing, initialize with no data // When metadata section missing, initialize with no data

@ -68,6 +68,7 @@ entries:
grafana: grafana:
- apiVersion: v2 - apiVersion: v2
name: grafana name: grafana
- null
foo: foo:
- -
bar: bar:

Loading…
Cancel
Save