From dc1694107527685bed063d20e396ffac7d59a88b Mon Sep 17 00:00:00 2001 From: Janit Sriganeshaelankovan Date: Mon, 21 Jul 2025 16:46:31 -0400 Subject: [PATCH] updated error logging to include list of allowed Signed-off-by: Janit Sriganeshaelankovan --- pkg/chart/v2/util/create.go | 2 +- pkg/lint/rules/chartfile.go | 2 +- pkg/lint/rules/chartfile_test.go | 11 ++++------- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/pkg/chart/v2/util/create.go b/pkg/chart/v2/util/create.go index 2fea0942c..1822ed3e3 100644 --- a/pkg/chart/v2/util/create.go +++ b/pkg/chart/v2/util/create.go @@ -823,7 +823,7 @@ func validateChartName(name string) error { return fmt.Errorf("chart name must be between 1 and %d characters", maxChartNameLength) } if !chartName.MatchString(name) { - return fmt.Errorf("chart name must match the regular expression %q", chartName.String()) + return fmt.Errorf("chart name must use only lowercase letters or digits optionally with dash separators") } return nil } diff --git a/pkg/lint/rules/chartfile.go b/pkg/lint/rules/chartfile.go index e6d9a1769..9c071155a 100644 --- a/pkg/lint/rules/chartfile.go +++ b/pkg/lint/rules/chartfile.go @@ -125,7 +125,7 @@ func validateChartName(cf *chart.Metadata) error { return fmt.Errorf("chart name must be between 1 and %d characters", maxChartNameLength) } if !chartName.MatchString(cf.Name) { - return fmt.Errorf("chart name must use only lowercase letters, digits, and dashes (no underscores, dots, or uppercase letters)") + return fmt.Errorf("chart name must use only lowercase letters or digits optionally with dash separators") } return nil } diff --git a/pkg/lint/rules/chartfile_test.go b/pkg/lint/rules/chartfile_test.go index 54664c60c..03503468d 100644 --- a/pkg/lint/rules/chartfile_test.go +++ b/pkg/lint/rules/chartfile_test.go @@ -78,7 +78,6 @@ func TestValidateChartName(t *testing.T) { } failTests := []*chart.Metadata{ - {Name: ""}, // empty {Name: "ChartName"}, // uppercase {Name: "chart_name"}, // underscore @@ -90,15 +89,13 @@ func TestValidateChartName(t *testing.T) { {Name: "chart/name"}, // forward slash {Name: "chart\\name"}, // backslash {Name: "chart name"}, // space - {Name: strings.Repeat("a", 251)}, // 241 chars — too long - + {Name: strings.Repeat("a", 251)}, // 251 chars — too long } successTests := []*chart.Metadata{ - {Name: "nginx"}, - {Name: "nginx-lego"}, - {Name: "aws-cluster-autoscaler"}, - {Name: "abc123"}, + {Name: "chartname"}, + {Name: "chart-name"}, + {Name: "chart-name-success"}, {Name: "chartname123"}, {Name: strings.Repeat("a", 250)}, }