@@ -642,31 +642,35 @@ def _set_container(self, namespace, container_name, data, **kwargs): # noqa
642642 else :
643643 self ._default_readiness_probe (data , kwargs .get ('build_type' ), env .get ('PORT' , None ))
644644
645- def _set_image_secret (self , data , namespace , ** kwargs ):
646- """
647- Take registry information and set as an imagePullSecret for an RC / Deployment
648- http://kubernetes.io/docs/user-guide/images/#specifying-imagepullsecrets-on-a-pod
649- """
650- registry = kwargs .get ('registry' , {})
651- if not registry :
652- return
653-
645+ def _get_private_registry_config (self , registry , image ):
654646 # try to get the hostname information
655647 hostname = registry .get ('hostname' , None )
656648 if not hostname :
657- hostname , _ = docker_auth .split_repo_name (kwargs .get ('image' ))
649+ hostname , _ = docker_auth .split_repo_name (image )
650+ if hostname == docker_auth .INDEX_NAME :
651+ hostname = "https://index.docker.io/v1/"
658652
659653 # create / update private registry secret
660654 auth = bytes ('{}:{}' .format (registry .get ('username' ), registry .get ('password' )), 'UTF-8' )
661655 # value has to be a base64 encoded JSON
662656 docker_config = json .dumps ({
663657 "auths" : {
664658 hostname : {
665- "auth" : base64 .b64encode (auth ).decode (encoding = 'UTF-8' ),
666- "email" : 'not@valid.id'
659+ "auth" : base64 .b64encode (auth ).decode (encoding = 'UTF-8' )
667660 }
668661 }
669662 })
663+ return docker_config
664+
665+ def _set_image_secret (self , data , namespace , ** kwargs ):
666+ """
667+ Take registry information and set as an imagePullSecret for an RC / Deployment
668+ http://kubernetes.io/docs/user-guide/images/#specifying-imagepullsecrets-on-a-pod
669+ """
670+ registry = kwargs .get ('registry' , {})
671+ if not registry :
672+ return
673+ docker_config = self ._get_private_registry_config (registry , kwargs .get ('image' )) # noqa
670674 secret_data = {'.dockerconfigjson' : docker_config }
671675
672676 secret_name = 'private-registry'
0 commit comments