ソースを参照

Merge pull request #10423 from dmcgowan/v2-registry-fix-single-names

Allow single name component repository names
Tibor Vass 10 年 前
コミット
02e0a23d80
2 ファイル変更10 行追加2 行削除
  1. 2 2
      registry/v2/regexp.go
  2. 8 0
      registry/v2/routes_test.go

+ 2 - 2
registry/v2/regexp.go

@@ -11,9 +11,9 @@ import "regexp"
 // separated by one period, dash or underscore.
 // separated by one period, dash or underscore.
 var RepositoryNameComponentRegexp = regexp.MustCompile(`[a-z0-9]+(?:[._-][a-z0-9]+)*`)
 var RepositoryNameComponentRegexp = regexp.MustCompile(`[a-z0-9]+(?:[._-][a-z0-9]+)*`)
 
 
-// RepositoryNameRegexp builds on RepositoryNameComponentRegexp to allow 2 to
+// RepositoryNameRegexp builds on RepositoryNameComponentRegexp to allow 1 to
 // 5 path components, separated by a forward slash.
 // 5 path components, separated by a forward slash.
-var RepositoryNameRegexp = regexp.MustCompile(`(?:` + RepositoryNameComponentRegexp.String() + `/){1,4}` + RepositoryNameComponentRegexp.String())
+var RepositoryNameRegexp = regexp.MustCompile(`(?:` + RepositoryNameComponentRegexp.String() + `/){0,4}` + RepositoryNameComponentRegexp.String())
 
 
 // TagNameRegexp matches valid tag names. From docker/docker:graph/tags.go.
 // TagNameRegexp matches valid tag names. From docker/docker:graph/tags.go.
 var TagNameRegexp = regexp.MustCompile(`[\w][\w.-]{0,127}`)
 var TagNameRegexp = regexp.MustCompile(`[\w][\w.-]{0,127}`)

+ 8 - 0
registry/v2/routes_test.go

@@ -51,6 +51,14 @@ func TestRouter(t *testing.T) {
 			RequestURI: "/v2/",
 			RequestURI: "/v2/",
 			Vars:       map[string]string{},
 			Vars:       map[string]string{},
 		},
 		},
+		{
+			RouteName:  RouteNameManifest,
+			RequestURI: "/v2/foo/manifests/bar",
+			Vars: map[string]string{
+				"name": "foo",
+				"tag":  "bar",
+			},
+		},
 		{
 		{
 			RouteName:  RouteNameManifest,
 			RouteName:  RouteNameManifest,
 			RequestURI: "/v2/foo/bar/manifests/tag",
 			RequestURI: "/v2/foo/bar/manifests/tag",