From 670040477e8e1d7baf1842ac21af7cc6bb8d01f2 Mon Sep 17 00:00:00 2001 From: Eddy Filip Date: Wed, 8 Sep 2021 16:02:08 +0300 Subject: [PATCH] Add max length for secret key names Max length for secret key names must be DNS1123 compliant (253) --- pkg/kubernetessecrets/kubernetes_secrets_builder.go | 5 +++++ pkg/kubernetessecrets/kubernetes_secrets_builder_test.go | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/pkg/kubernetessecrets/kubernetes_secrets_builder.go b/pkg/kubernetessecrets/kubernetes_secrets_builder.go index 571e25b..f07d86e 100644 --- a/pkg/kubernetessecrets/kubernetes_secrets_builder.go +++ b/pkg/kubernetessecrets/kubernetes_secrets_builder.go @@ -129,5 +129,10 @@ var invalidStartEndChars = regexp.MustCompile("(^[^a-zA-Z0-9-._]+|[^a-zA-Z0-9-._ func createValidSecretDataName(value string) string { result := invalidStartEndChars.ReplaceAllString(value, "") result = invalidDataChars.ReplaceAllString(result, "-") + + if len(result) > kubeValidate.DNS1123SubdomainMaxLength { + result = result[0:kubeValidate.DNS1123SubdomainMaxLength] + } + return result } diff --git a/pkg/kubernetessecrets/kubernetes_secrets_builder_test.go b/pkg/kubernetessecrets/kubernetes_secrets_builder_test.go index ccd86d3..0d7d22b 100644 --- a/pkg/kubernetessecrets/kubernetes_secrets_builder_test.go +++ b/pkg/kubernetessecrets/kubernetes_secrets_builder_test.go @@ -129,7 +129,7 @@ func TestBuildKubernetesSecretFixesInvalidLabels(t *testing.T) { Value: "value1", }, { - Label: strings.Repeat("x", kubeValidate.LabelValueMaxLength+1), + Label: strings.Repeat("x", kubeValidate.DNS1123SubdomainMaxLength+1), Value: "name exceeds max length", }, }