@@ -51,20 +51,22 @@ func NewBuilder(registryURL, imageName, imageTag string, preferMinikube bool) (*
5151 }
5252 }
5353
54- // Check if it's the official registry or not
55- ref , err := reference .ParseNormalizedNamed (registryURL )
56- if err != nil {
57- return nil , err
58- }
54+ imageURL := imageName + ":" + imageTag
55+ if registryURL != "" {
56+ // Check if it's the official registry or not
57+ ref , err := reference .ParseNormalizedNamed (registryURL )
58+ if err != nil {
59+ return nil , err
60+ }
5961
60- repoInfo , err := registry .ParseRepositoryInfo (ref )
61- if err != nil {
62- return nil , err
63- }
62+ repoInfo , err := registry .ParseRepositoryInfo (ref )
63+ if err != nil {
64+ return nil , err
65+ }
6466
65- imageURL := registryURL + "/" + imageName + ":" + imageTag
66- if repoInfo . Index . Official {
67- imageURL = imageName + ":" + imageTag
67+ if repoInfo . Index . Official == false {
68+ imageURL = registryURL + "/" + imageName + ":" + imageTag
69+ }
6870 }
6971
7072 return & Builder {
@@ -141,20 +143,25 @@ func (b *Builder) BuildImage(contextPath, dockerfilePath string, options *types.
141143// Authenticate authenticates the client with a remote registry
142144func (b * Builder ) Authenticate (user , password string , checkCredentialsStore bool ) error {
143145 ctx := context .Background ()
146+ authServer := getOfficialServer (ctx , b .client )
144147 serverAddress := b .RegistryURL
145- ref , err := reference .ParseNormalizedNamed (serverAddress )
146- if err != nil {
147- return err
148- }
149148
150- repoInfo , err := registry .ParseRepositoryInfo (ref )
151- if err != nil {
152- return err
153- }
154-
155- authServer := getOfficialServer (ctx , b .client )
156- if repoInfo .Index .Official {
149+ if serverAddress == "" {
157150 serverAddress = authServer
151+ } else {
152+ ref , err := reference .ParseNormalizedNamed (serverAddress )
153+ if err != nil {
154+ return err
155+ }
156+
157+ repoInfo , err := registry .ParseRepositoryInfo (ref )
158+ if err != nil {
159+ return err
160+ }
161+
162+ if repoInfo .Index .Official {
163+ serverAddress = authServer
164+ }
158165 }
159166
160167 authConfig , err := getDefaultAuthConfig (b .client , checkCredentialsStore , serverAddress , serverAddress == authServer )
0 commit comments