followup to allow special characters

This commit is contained in:
HirazawaUi 2024-03-08 00:08:43 +08:00
parent 246e678acc
commit 2867be47b3
3 changed files with 8 additions and 4 deletions

View File

@ -425,6 +425,10 @@ func GetValidationOptionsFromPodSpecAndMeta(podSpec, oldPodSpec *api.PodSpec, po
} }
func useRelaxedEnvironmentVariableValidation(podSpec, oldPodSpec *api.PodSpec) bool { func useRelaxedEnvironmentVariableValidation(podSpec, oldPodSpec *api.PodSpec) bool {
if utilfeature.DefaultFeatureGate.Enabled(features.RelaxedEnvironmentVariableValidation) {
return true
}
var oldPodEnvVarNames, podEnvVarNames sets.Set[string] var oldPodEnvVarNames, podEnvVarNames sets.Set[string]
if oldPodSpec != nil { if oldPodSpec != nil {
oldPodEnvVarNames = gatherPodEnvVarNames(oldPodSpec) oldPodEnvVarNames = gatherPodEnvVarNames(oldPodSpec)
@ -435,7 +439,7 @@ func useRelaxedEnvironmentVariableValidation(podSpec, oldPodSpec *api.PodSpec) b
} }
for env := range podEnvVarNames { for env := range podEnvVarNames {
if utilfeature.DefaultFeatureGate.Enabled(features.RelaxedEnvironmentVariableValidation) || relaxedEnvVarUsed(env, oldPodEnvVarNames) { if relaxedEnvVarUsed(env, oldPodEnvVarNames) {
return true return true
} }
} }

View File

@ -53,7 +53,7 @@ const (
dnsLabelErrMsg = "a lowercase RFC 1123 label must consist of" dnsLabelErrMsg = "a lowercase RFC 1123 label must consist of"
dnsSubdomainLabelErrMsg = "a lowercase RFC 1123 subdomain" dnsSubdomainLabelErrMsg = "a lowercase RFC 1123 subdomain"
envVarNameErrMsg = "a valid environment variable name must consist of" envVarNameErrMsg = "a valid environment variable name must consist of"
relaxedEnvVarNameFmtErrMsg string = "a valid environment variable names must be printable ASCII characters other than '=' character" relaxedEnvVarNameFmtErrMsg string = "a valid environment variable name must consist only of printable ASCII characters other than '='"
defaultGracePeriod = int64(30) defaultGracePeriod = int64(30)
) )

View File

@ -420,7 +420,7 @@ const envVarNameFmt = "[-._a-zA-Z][-._a-zA-Z0-9]*"
const envVarNameFmtErrMsg string = "a valid environment variable name must consist of alphabetic characters, digits, '_', '-', or '.', and must not start with a digit" const envVarNameFmtErrMsg string = "a valid environment variable name must consist of alphabetic characters, digits, '_', '-', or '.', and must not start with a digit"
// TODO(hirazawaui): Rename this when the RelaxedEnvironmentVariableValidation gate is removed. // TODO(hirazawaui): Rename this when the RelaxedEnvironmentVariableValidation gate is removed.
const relaxedEnvVarNameFmtErrMsg string = "a valid environment variable names must be printable ASCII characters other than '=' character" const relaxedEnvVarNameFmtErrMsg string = "a valid environment variable name must consist only of printable ASCII characters other than '='"
var envVarNameRegexp = regexp.MustCompile("^" + envVarNameFmt + "$") var envVarNameRegexp = regexp.MustCompile("^" + envVarNameFmt + "$")
@ -440,7 +440,7 @@ func IsRelaxedEnvVarName(value string) []string {
var errs []string var errs []string
if len(value) == 0 { if len(value) == 0 {
errs = append(errs, "environment variable name"+EmptyError()) errs = append(errs, "environment variable name "+EmptyError())
} }
for _, r := range value { for _, r := range value {