Explorar el Código

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

Signed-off-by: Tibor Vass <tibor@docker.com>
Tibor Vass hace 10 años
padre
commit
4a92b8a0ef
Se han modificado 6 ficheros con 52 adiciones y 30 borrados
  1. 0 22
      registry/config.go
  2. 24 0
      registry/consts.go
  3. 6 0
      registry/consts_unix.go
  4. 10 0
      registry/consts_windows.go
  5. 1 0
      registry/registry.go
  6. 11 8
      registry/service.go

+ 0 - 22
registry/config.go

@@ -20,28 +20,6 @@ type Options struct {
 	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 (
 	// ErrInvalidRepositoryName is an error returned if the repository name did
 	// 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
 
 import (

+ 11 - 8
registry/service.go

@@ -5,6 +5,7 @@ import (
 	"fmt"
 	"net/http"
 	"net/url"
+	"runtime"
 	"strings"
 
 	"github.com/docker/distribution/registry/client/auth"
@@ -138,14 +139,16 @@ func (s *Service) LookupEndpoints(repoName string) (endpoints []APIEndpoint, err
 			TrimHostname: true,
 			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
 	}