@@ -509,12 +509,15 @@ def _update_revision_env_secretrefs(containers, name):
509509
510510
511511def store_as_secret_and_return_secret_ref (secrets_list , registry_user , registry_server , registry_pass , update_existing_secret = False , disable_warnings = False ):
512+ def make_dns1123_compliant (name ):
513+ # Replace invalid characters with a hyphen and ensure lowercase
514+ return re .sub (r'[^a-z0-9\-]' , '-' , name .lower ())
515+
512516 if registry_pass .startswith ("secretref:" ):
513517 # If user passed in registry password using a secret
514-
515518 registry_pass = registry_pass .split ("secretref:" )
516519 if len (registry_pass ) <= 1 :
517- raise ValidationError ("Invalid registry password secret. Value must be a non-empty value starting with \ ' secretref:\ ' ." )
520+ raise ValidationError ("Invalid registry password secret. Value must be a non-empty value starting with 'secretref:'." )
518521 registry_pass = registry_pass [1 :]
519522 registry_pass = '' .join (registry_pass )
520523
@@ -526,9 +529,15 @@ def store_as_secret_and_return_secret_ref(secrets_list, registry_user, registry_
526529 # If user passed in registry password
527530 registry_server = registry_server .replace (':' , '-' )
528531 if urlparse (registry_server ).hostname is not None :
529- registry_secret_name = "{server}-{user}" .format (server = urlparse (registry_server ).hostname .replace ('.' , '' ), user = registry_user .lower ())
532+ registry_secret_name = "{server}-{user}" .format (
533+ server = urlparse (registry_server ).hostname .replace ('.' , '' ),
534+ user = make_dns1123_compliant (registry_user )
535+ )
530536 else :
531- registry_secret_name = "{server}-{user}" .format (server = registry_server .replace ('.' , '' ), user = registry_user .lower ())
537+ registry_secret_name = "{server}-{user}" .format (
538+ server = registry_server .replace ('.' , '' ),
539+ user = make_dns1123_compliant (registry_user )
540+ )
532541
533542 for secret in secrets_list :
534543 if secret ['name' ].lower () == registry_secret_name .lower ():
@@ -548,7 +557,6 @@ def store_as_secret_and_return_secret_ref(secrets_list, registry_user, registry_
548557
549558 return registry_secret_name
550559
551-
552560def parse_list_of_strings (comma_separated_string ):
553561 comma_separated = comma_separated_string .split (',' )
554562 return [s .strip () for s in comma_separated ]
0 commit comments