Переглянути джерело

registry: Change default endpoint on windows to a windows-specific one

Signed-off-by: Tibor Vass <tibor@docker.com>
Tibor Vass 10 роки тому
батько
коміт
4a92b8a0ef

+ 0 - 22
registry/config.go

@@ -20,28 +20,6 @@ type Options struct {
 	InsecureRegistries opts.ListOpts
 	InsecureRegistries opts.ListOpts
 }
 }
 
 
-const (
-	// DefaultNamespace is the default namespace
-	DefaultNamespace = "docker.io"
-	// DefaultV2Registry is the URI of the default v2 registry
-	DefaultV2Registry = "https://registry-1.docker.io"
-	// DefaultRegistryVersionHeader is the name of the default HTTP header
-	// that carries Registry version info
-	DefaultRegistryVersionHeader = "Docker-Distribution-Api-Version"
-	// DefaultV1Registry is the URI of the default v1 registry
-	DefaultV1Registry = "https://index.docker.io"
-
-	// CertsDir is the directory where certificates are stored
-	CertsDir = "/etc/docker/certs.d"
-
-	// IndexServer is the v1 registry server used for user auth + account creation
-	IndexServer = DefaultV1Registry + "/v1/"
-	// IndexName is the name of the index
-	IndexName = "docker.io"
-	// NotaryServer is the endpoint serving the Notary trust server
-	NotaryServer = "https://notary.docker.io"
-)
-
 var (
 var (
 	// ErrInvalidRepositoryName is an error returned if the repository name did
 	// ErrInvalidRepositoryName is an error returned if the repository name did
 	// not have the correct form
 	// not have the correct form

+ 24 - 0
registry/consts.go

@@ -0,0 +1,24 @@
+package registry
+
+const (
+	// DefaultNamespace is the default namespace
+	DefaultNamespace = "docker.io"
+	// DefaultRegistryVersionHeader is the name of the default HTTP header
+	// that carries Registry version info
+	DefaultRegistryVersionHeader = "Docker-Distribution-Api-Version"
+	// DefaultV1Registry is the URI of the default v1 registry
+	DefaultV1Registry = "https://index.docker.io"
+
+	// CertsDir is the directory where certificates are stored
+	CertsDir = "/etc/docker/certs.d"
+
+	// IndexServer is the v1 registry server used for user auth + account creation
+	IndexServer = DefaultV1Registry + "/v1/"
+	// IndexName is the name of the index
+	IndexName = "docker.io"
+
+	// NotaryServer is the endpoint serving the Notary trust server
+	NotaryServer = "https://notary.docker.io"
+
+	// IndexServer = "https://registry-stage.hub.docker.com/v1/"
+)

+ 6 - 0
registry/consts_unix.go

@@ -0,0 +1,6 @@
+// +build !windows
+
+package registry
+
+// DefaultV2Registry is the URI of the default v2 registry
+const DefaultV2Registry = "https://registry-1.docker.io"

+ 10 - 0
registry/consts_windows.go

@@ -0,0 +1,10 @@
+// +build windows
+
+package registry
+
+// DefaultV2Registry is the URI of the default (official) v2 registry.
+// This is the windows-specific endpoint.
+//
+// Currently it is a TEMPORARY link that allows Microsoft to continue
+// development of Docker Engine for Windows.
+const DefaultV2Registry = "https://ms-tp3.registry-1.docker.io"

+ 1 - 0
registry/registry.go

@@ -1,3 +1,4 @@
+// Package registry contains client primitives to interact with a remote Docker registry.
 package registry
 package registry
 
 
 import (
 import (

+ 11 - 8
registry/service.go

@@ -5,6 +5,7 @@ import (
 	"fmt"
 	"fmt"
 	"net/http"
 	"net/http"
 	"net/url"
 	"net/url"
+	"runtime"
 	"strings"
 	"strings"
 
 
 	"github.com/docker/distribution/registry/client/auth"
 	"github.com/docker/distribution/registry/client/auth"
@@ -138,14 +139,16 @@ func (s *Service) LookupEndpoints(repoName string) (endpoints []APIEndpoint, err
 			TrimHostname: true,
 			TrimHostname: true,
 			TLSConfig:    tlsConfig,
 			TLSConfig:    tlsConfig,
 		})
 		})
-		// v1 registry
-		endpoints = append(endpoints, APIEndpoint{
-			URL:          DefaultV1Registry,
-			Version:      APIVersion1,
-			Official:     true,
-			TrimHostname: true,
-			TLSConfig:    tlsConfig,
-		})
+		if runtime.GOOS == "linux" { // do not inherit legacy API for OSes supported in the future
+			// v1 registry
+			endpoints = append(endpoints, APIEndpoint{
+				URL:          DefaultV1Registry,
+				Version:      APIVersion1,
+				Official:     true,
+				TrimHostname: true,
+				TLSConfig:    tlsConfig,
+			})
+		}
 		return endpoints, nil
 		return endpoints, nil
 	}
 	}