Add max length for secret key names

Max length for secret key names must be DNS1123 compliant (253)
This commit is contained in:
Eddy Filip
2021-09-08 16:02:08 +03:00
parent a45a310611
commit 670040477e
2 changed files with 6 additions and 1 deletions

View File

@@ -129,5 +129,10 @@ var invalidStartEndChars = regexp.MustCompile("(^[^a-zA-Z0-9-._]+|[^a-zA-Z0-9-._
func createValidSecretDataName(value string) string { func createValidSecretDataName(value string) string {
result := invalidStartEndChars.ReplaceAllString(value, "") result := invalidStartEndChars.ReplaceAllString(value, "")
result = invalidDataChars.ReplaceAllString(result, "-") result = invalidDataChars.ReplaceAllString(result, "-")
if len(result) > kubeValidate.DNS1123SubdomainMaxLength {
result = result[0:kubeValidate.DNS1123SubdomainMaxLength]
}
return result return result
} }

View File

@@ -129,7 +129,7 @@ func TestBuildKubernetesSecretFixesInvalidLabels(t *testing.T) {
Value: "value1", Value: "value1",
}, },
{ {
Label: strings.Repeat("x", kubeValidate.LabelValueMaxLength+1), Label: strings.Repeat("x", kubeValidate.DNS1123SubdomainMaxLength+1),
Value: "name exceeds max length", Value: "name exceeds max length",
}, },
} }