Browse Source

Unconditionally add AuthTransport.

Today, endpoints implementing v2 cannot properly fallback to v1 because the underlying transport that deals with authentication (Basic / Token) doesn't get annotated.

This doesn't affect DockerHub because the DockerHub endpoint appears as 'https://index.docker.io/v1/' (in .dockercfg), and the 'v1' tricks this logic just long enough that the transport is always annotated for DockerHub accesses.

Signed-off-by: Matt Moore <mattmoor@google.com>
Matt Moore 10 years ago
parent
commit
c2315102ff
1 changed files with 3 additions and 3 deletions
  1. 3 3
      registry/session.go

+ 3 - 3
registry/session.go

@@ -158,9 +158,9 @@ func NewSession(client *http.Client, authConfig *cliconfig.AuthConfig, endpoint
 		}
 		}
 	}
 	}
 
 
-	if endpoint.Version == APIVersion1 {
-		client.Transport = AuthTransport(client.Transport, authConfig, alwaysSetBasicAuth)
-	}
+	// Annotate the transport unconditionally so that v2 can
+	// properly fallback on v1 when an image is not found.
+	client.Transport = AuthTransport(client.Transport, authConfig, alwaysSetBasicAuth)
 
 
 	jar, err := cookiejar.New(nil)
 	jar, err := cookiejar.New(nil)
 	if err != nil {
 	if err != nil {