parent
							
								
									a837179414
								
							
						
					
					
						commit
						66809646d9
					
				|  | @ -0,0 +1,20 @@ | ||||||
|  | linters: | ||||||
|  |   enable: | ||||||
|  |     - structcheck | ||||||
|  |     - varcheck | ||||||
|  |     - staticcheck | ||||||
|  |     - unconvert | ||||||
|  |     - gofmt | ||||||
|  |     - goimports | ||||||
|  |     - golint | ||||||
|  |     - ineffassign | ||||||
|  |     - vet | ||||||
|  |     - unused | ||||||
|  |     - misspell | ||||||
|  |   disable: | ||||||
|  |     - errcheck | ||||||
|  | 
 | ||||||
|  | run: | ||||||
|  |   deadline: 2m | ||||||
|  |   skip-dirs: | ||||||
|  |     - vendor | ||||||
|  | @ -1,16 +0,0 @@ | ||||||
| { |  | ||||||
|   "Vendor": true, |  | ||||||
|   "Deadline": "2m", |  | ||||||
|   "Sort": ["linter", "severity", "path", "line"], |  | ||||||
|   "EnableGC": true, |  | ||||||
|   "Enable": [ |  | ||||||
|     "structcheck", |  | ||||||
|     "staticcheck", |  | ||||||
|     "unconvert", |  | ||||||
| 
 |  | ||||||
|     "gofmt", |  | ||||||
|     "goimports", |  | ||||||
|     "golint", |  | ||||||
|     "vet" |  | ||||||
|   ] |  | ||||||
| } |  | ||||||
							
								
								
									
										2
									
								
								Makefile
								
								
								
								
							
							
						
						
									
										2
									
								
								Makefile
								
								
								
								
							|  | @ -50,7 +50,7 @@ version/version.go: | ||||||
| 
 | 
 | ||||||
| check: ## run all linters (TODO: enable "unused", "varcheck", "ineffassign", "unconvert", "staticheck", "goimports", "structcheck")
 | check: ## run all linters (TODO: enable "unused", "varcheck", "ineffassign", "unconvert", "staticheck", "goimports", "structcheck")
 | ||||||
| 	@echo "$(WHALE) $@" | 	@echo "$(WHALE) $@" | ||||||
| 	gometalinter --config .gometalinter.json ./... | 	@GO111MODULE=off golangci-lint run | ||||||
| 
 | 
 | ||||||
| test: ## run tests, except integration test with test.short
 | test: ## run tests, except integration test with test.short
 | ||||||
| 	@echo "$(WHALE) $@" | 	@echo "$(WHALE) $@" | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								blobs.go
								
								
								
								
							
							
						
						
									
										2
									
								
								blobs.go
								
								
								
								
							|  | @ -10,7 +10,7 @@ import ( | ||||||
| 
 | 
 | ||||||
| 	"github.com/docker/distribution/reference" | 	"github.com/docker/distribution/reference" | ||||||
| 	"github.com/opencontainers/go-digest" | 	"github.com/opencontainers/go-digest" | ||||||
| 	"github.com/opencontainers/image-spec/specs-go/v1" | 	v1 "github.com/opencontainers/image-spec/specs-go/v1" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| var ( | var ( | ||||||
|  |  | ||||||
|  | @ -21,7 +21,7 @@ import ( | ||||||
| 	"text/template" | 	"text/template" | ||||||
| 
 | 
 | ||||||
| 	"github.com/docker/distribution/registry/api/errcode" | 	"github.com/docker/distribution/registry/api/errcode" | ||||||
| 	"github.com/docker/distribution/registry/api/v2" | 	v2 "github.com/docker/distribution/registry/api/v2" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| var spaceRegex = regexp.MustCompile(`\n\s*`) | var spaceRegex = regexp.MustCompile(`\n\s*`) | ||||||
|  |  | ||||||
|  | @ -8,7 +8,7 @@ import ( | ||||||
| 	"github.com/docker/distribution" | 	"github.com/docker/distribution" | ||||||
| 	"github.com/docker/distribution/manifest" | 	"github.com/docker/distribution/manifest" | ||||||
| 	"github.com/opencontainers/go-digest" | 	"github.com/opencontainers/go-digest" | ||||||
| 	"github.com/opencontainers/image-spec/specs-go/v1" | 	v1 "github.com/opencontainers/image-spec/specs-go/v1" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| const ( | const ( | ||||||
|  |  | ||||||
|  | @ -7,7 +7,7 @@ import ( | ||||||
| 	"testing" | 	"testing" | ||||||
| 
 | 
 | ||||||
| 	"github.com/docker/distribution" | 	"github.com/docker/distribution" | ||||||
| 	"github.com/opencontainers/image-spec/specs-go/v1" | 	v1 "github.com/opencontainers/image-spec/specs-go/v1" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| var expectedManifestListSerialization = []byte(`{ | var expectedManifestListSerialization = []byte(`{ | ||||||
|  |  | ||||||
|  | @ -7,7 +7,7 @@ import ( | ||||||
| 	"github.com/docker/distribution" | 	"github.com/docker/distribution" | ||||||
| 	"github.com/docker/distribution/manifest" | 	"github.com/docker/distribution/manifest" | ||||||
| 	"github.com/opencontainers/go-digest" | 	"github.com/opencontainers/go-digest" | ||||||
| 	"github.com/opencontainers/image-spec/specs-go/v1" | 	v1 "github.com/opencontainers/image-spec/specs-go/v1" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| // Builder is a type for constructing manifests.
 | // Builder is a type for constructing manifests.
 | ||||||
|  |  | ||||||
|  | @ -7,7 +7,7 @@ import ( | ||||||
| 
 | 
 | ||||||
| 	"github.com/docker/distribution" | 	"github.com/docker/distribution" | ||||||
| 	"github.com/opencontainers/go-digest" | 	"github.com/opencontainers/go-digest" | ||||||
| 	"github.com/opencontainers/image-spec/specs-go/v1" | 	v1 "github.com/opencontainers/image-spec/specs-go/v1" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| type mockBlobService struct { | type mockBlobService struct { | ||||||
|  |  | ||||||
|  | @ -8,7 +8,7 @@ import ( | ||||||
| 	"github.com/docker/distribution" | 	"github.com/docker/distribution" | ||||||
| 	"github.com/docker/distribution/manifest" | 	"github.com/docker/distribution/manifest" | ||||||
| 	"github.com/opencontainers/go-digest" | 	"github.com/opencontainers/go-digest" | ||||||
| 	"github.com/opencontainers/image-spec/specs-go/v1" | 	v1 "github.com/opencontainers/image-spec/specs-go/v1" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| var ( | var ( | ||||||
|  |  | ||||||
|  | @ -8,7 +8,7 @@ import ( | ||||||
| 
 | 
 | ||||||
| 	"github.com/docker/distribution" | 	"github.com/docker/distribution" | ||||||
| 	"github.com/docker/distribution/manifest" | 	"github.com/docker/distribution/manifest" | ||||||
| 	"github.com/opencontainers/image-spec/specs-go/v1" | 	v1 "github.com/opencontainers/image-spec/specs-go/v1" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| var expectedManifestSerialization = []byte(`{ | var expectedManifestSerialization = []byte(`{ | ||||||
|  |  | ||||||
|  | @ -6,7 +6,7 @@ import ( | ||||||
| 	"github.com/docker/distribution" | 	"github.com/docker/distribution" | ||||||
| 	"github.com/docker/distribution/manifest/schema1" | 	"github.com/docker/distribution/manifest/schema1" | ||||||
| 	"github.com/docker/distribution/reference" | 	"github.com/docker/distribution/reference" | ||||||
| 	"github.com/docker/distribution/registry/api/v2" | 	v2 "github.com/docker/distribution/registry/api/v2" | ||||||
| 	"github.com/docker/distribution/uuid" | 	"github.com/docker/distribution/uuid" | ||||||
| 	"github.com/docker/libtrust" | 	"github.com/docker/libtrust" | ||||||
| 	"github.com/opencontainers/go-digest" | 	"github.com/opencontainers/go-digest" | ||||||
|  |  | ||||||
|  | @ -639,7 +639,7 @@ func TestParseNamed(t *testing.T) { | ||||||
| 			failf("error parsing name: %s", err) | 			failf("error parsing name: %s", err) | ||||||
| 			continue | 			continue | ||||||
| 		} else if err == nil && testcase.err != nil { | 		} else if err == nil && testcase.err != nil { | ||||||
| 			failf("parsing succeded: expected error %v", testcase.err) | 			failf("parsing succeeded: expected error %v", testcase.err) | ||||||
| 			continue | 			continue | ||||||
| 		} else if err != testcase.err { | 		} else if err != testcase.err { | ||||||
| 			failf("unexpected error %v, expected %v", err, testcase.err) | 			failf("unexpected error %v, expected %v", err, testcase.err) | ||||||
|  |  | ||||||
|  | @ -16,7 +16,7 @@ import ( | ||||||
| 
 | 
 | ||||||
| 	"github.com/docker/distribution" | 	"github.com/docker/distribution" | ||||||
| 	"github.com/docker/distribution/reference" | 	"github.com/docker/distribution/reference" | ||||||
| 	"github.com/docker/distribution/registry/api/v2" | 	v2 "github.com/docker/distribution/registry/api/v2" | ||||||
| 	"github.com/docker/distribution/registry/client/transport" | 	"github.com/docker/distribution/registry/client/transport" | ||||||
| 	"github.com/docker/distribution/registry/storage/cache" | 	"github.com/docker/distribution/registry/storage/cache" | ||||||
| 	"github.com/docker/distribution/registry/storage/cache/memory" | 	"github.com/docker/distribution/registry/storage/cache/memory" | ||||||
|  |  | ||||||
|  | @ -28,7 +28,7 @@ import ( | ||||||
| 	"github.com/docker/distribution/manifest/schema2" | 	"github.com/docker/distribution/manifest/schema2" | ||||||
| 	"github.com/docker/distribution/reference" | 	"github.com/docker/distribution/reference" | ||||||
| 	"github.com/docker/distribution/registry/api/errcode" | 	"github.com/docker/distribution/registry/api/errcode" | ||||||
| 	"github.com/docker/distribution/registry/api/v2" | 	v2 "github.com/docker/distribution/registry/api/v2" | ||||||
| 	storagedriver "github.com/docker/distribution/registry/storage/driver" | 	storagedriver "github.com/docker/distribution/registry/storage/driver" | ||||||
| 	"github.com/docker/distribution/registry/storage/driver/factory" | 	"github.com/docker/distribution/registry/storage/driver/factory" | ||||||
| 	_ "github.com/docker/distribution/registry/storage/driver/testdriver" | 	_ "github.com/docker/distribution/registry/storage/driver/testdriver" | ||||||
|  | @ -2355,7 +2355,7 @@ func checkBodyHasErrorCodes(t *testing.T, msg string, resp *http.Response, error | ||||||
| 	// Ensure that counts of expected errors were all non-zero
 | 	// Ensure that counts of expected errors were all non-zero
 | ||||||
| 	for code := range expected { | 	for code := range expected { | ||||||
| 		if counts[code] == 0 { | 		if counts[code] == 0 { | ||||||
| 			t.Fatalf("expected error code %v not encounterd during %s: %s", code, msg, string(p)) | 			t.Fatalf("expected error code %v not encountered during %s: %s", code, msg, string(p)) | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -24,7 +24,7 @@ import ( | ||||||
| 	"github.com/docker/distribution/notifications" | 	"github.com/docker/distribution/notifications" | ||||||
| 	"github.com/docker/distribution/reference" | 	"github.com/docker/distribution/reference" | ||||||
| 	"github.com/docker/distribution/registry/api/errcode" | 	"github.com/docker/distribution/registry/api/errcode" | ||||||
| 	"github.com/docker/distribution/registry/api/v2" | 	v2 "github.com/docker/distribution/registry/api/v2" | ||||||
| 	"github.com/docker/distribution/registry/auth" | 	"github.com/docker/distribution/registry/auth" | ||||||
| 	registrymiddleware "github.com/docker/distribution/registry/middleware/registry" | 	registrymiddleware "github.com/docker/distribution/registry/middleware/registry" | ||||||
| 	repositorymiddleware "github.com/docker/distribution/registry/middleware/repository" | 	repositorymiddleware "github.com/docker/distribution/registry/middleware/repository" | ||||||
|  |  | ||||||
|  | @ -11,7 +11,7 @@ import ( | ||||||
| 	"github.com/docker/distribution/configuration" | 	"github.com/docker/distribution/configuration" | ||||||
| 	"github.com/docker/distribution/context" | 	"github.com/docker/distribution/context" | ||||||
| 	"github.com/docker/distribution/registry/api/errcode" | 	"github.com/docker/distribution/registry/api/errcode" | ||||||
| 	"github.com/docker/distribution/registry/api/v2" | 	v2 "github.com/docker/distribution/registry/api/v2" | ||||||
| 	"github.com/docker/distribution/registry/auth" | 	"github.com/docker/distribution/registry/auth" | ||||||
| 	_ "github.com/docker/distribution/registry/auth/silly" | 	_ "github.com/docker/distribution/registry/auth/silly" | ||||||
| 	"github.com/docker/distribution/registry/storage" | 	"github.com/docker/distribution/registry/storage" | ||||||
|  |  | ||||||
|  | @ -6,7 +6,7 @@ import ( | ||||||
| 	"github.com/docker/distribution" | 	"github.com/docker/distribution" | ||||||
| 	"github.com/docker/distribution/context" | 	"github.com/docker/distribution/context" | ||||||
| 	"github.com/docker/distribution/registry/api/errcode" | 	"github.com/docker/distribution/registry/api/errcode" | ||||||
| 	"github.com/docker/distribution/registry/api/v2" | 	v2 "github.com/docker/distribution/registry/api/v2" | ||||||
| 	"github.com/gorilla/handlers" | 	"github.com/gorilla/handlers" | ||||||
| 	"github.com/opencontainers/go-digest" | 	"github.com/opencontainers/go-digest" | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  | @ -8,7 +8,7 @@ import ( | ||||||
| 	"github.com/docker/distribution" | 	"github.com/docker/distribution" | ||||||
| 	dcontext "github.com/docker/distribution/context" | 	dcontext "github.com/docker/distribution/context" | ||||||
| 	"github.com/docker/distribution/registry/api/errcode" | 	"github.com/docker/distribution/registry/api/errcode" | ||||||
| 	"github.com/docker/distribution/registry/api/v2" | 	v2 "github.com/docker/distribution/registry/api/v2" | ||||||
| 	"github.com/docker/distribution/registry/auth" | 	"github.com/docker/distribution/registry/auth" | ||||||
| 	"github.com/opencontainers/go-digest" | 	"github.com/opencontainers/go-digest" | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  | @ -15,11 +15,11 @@ import ( | ||||||
| 	"github.com/docker/distribution/manifest/schema2" | 	"github.com/docker/distribution/manifest/schema2" | ||||||
| 	"github.com/docker/distribution/reference" | 	"github.com/docker/distribution/reference" | ||||||
| 	"github.com/docker/distribution/registry/api/errcode" | 	"github.com/docker/distribution/registry/api/errcode" | ||||||
| 	"github.com/docker/distribution/registry/api/v2" | 	v2 "github.com/docker/distribution/registry/api/v2" | ||||||
| 	"github.com/docker/distribution/registry/auth" | 	"github.com/docker/distribution/registry/auth" | ||||||
| 	"github.com/gorilla/handlers" | 	"github.com/gorilla/handlers" | ||||||
| 	"github.com/opencontainers/go-digest" | 	"github.com/opencontainers/go-digest" | ||||||
| 	"github.com/opencontainers/image-spec/specs-go/v1" | 	v1 "github.com/opencontainers/image-spec/specs-go/v1" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| // These constants determine which architecture and OS to choose from a
 | // These constants determine which architecture and OS to choose from a
 | ||||||
|  |  | ||||||
|  | @ -6,7 +6,7 @@ import ( | ||||||
| 
 | 
 | ||||||
| 	"github.com/docker/distribution" | 	"github.com/docker/distribution" | ||||||
| 	"github.com/docker/distribution/registry/api/errcode" | 	"github.com/docker/distribution/registry/api/errcode" | ||||||
| 	"github.com/docker/distribution/registry/api/v2" | 	v2 "github.com/docker/distribution/registry/api/v2" | ||||||
| 	"github.com/gorilla/handlers" | 	"github.com/gorilla/handlers" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -12,7 +12,8 @@ import ( | ||||||
| 	"syscall" | 	"syscall" | ||||||
| 	"time" | 	"time" | ||||||
| 
 | 
 | ||||||
| 	"github.com/Shopify/logrus-bugsnag" | 	logrus_bugsnag "github.com/Shopify/logrus-bugsnag" | ||||||
|  | 
 | ||||||
| 	logstash "github.com/bshuster-repo/logrus-logstash-hook" | 	logstash "github.com/bshuster-repo/logrus-logstash-hook" | ||||||
| 	"github.com/bugsnag/bugsnag-go" | 	"github.com/bugsnag/bugsnag-go" | ||||||
| 	"github.com/docker/go-metrics" | 	"github.com/docker/go-metrics" | ||||||
|  |  | ||||||
|  | @ -418,7 +418,7 @@ func TestBlobMount(t *testing.T) { | ||||||
| 
 | 
 | ||||||
| 	bs := repository.Blobs(ctx) | 	bs := repository.Blobs(ctx) | ||||||
| 	// Test destination for existence.
 | 	// Test destination for existence.
 | ||||||
| 	statDesc, err = bs.Stat(ctx, desc.Digest) | 	_, err = bs.Stat(ctx, desc.Digest) | ||||||
| 	if err == nil { | 	if err == nil { | ||||||
| 		t.Fatalf("unexpected non-error stating unmounted blob: %v", desc) | 		t.Fatalf("unexpected non-error stating unmounted blob: %v", desc) | ||||||
| 	} | 	} | ||||||
|  | @ -478,12 +478,12 @@ func TestBlobMount(t *testing.T) { | ||||||
| 		t.Fatalf("Unexpected error deleting blob") | 		t.Fatalf("Unexpected error deleting blob") | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	d, err := bs.Stat(ctx, desc.Digest) | 	_, err = bs.Stat(ctx, desc.Digest) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		t.Fatalf("unexpected error stating blob deleted from source repository: %v", err) | 		t.Fatalf("unexpected error stating blob deleted from source repository: %v", err) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	d, err = sbs.Stat(ctx, desc.Digest) | 	d, err := sbs.Stat(ctx, desc.Digest) | ||||||
| 	if err == nil { | 	if err == nil { | ||||||
| 		t.Fatalf("unexpected non-error stating deleted blob: %v", d) | 		t.Fatalf("unexpected non-error stating deleted blob: %v", d) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | @ -173,8 +173,7 @@ func checkBlobDescriptorCacheClear(ctx context.Context, t *testing.T, provider c | ||||||
| 		t.Error(err) | 		t.Error(err) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	desc, err = cache.Stat(ctx, localDigest) | 	if _, err = cache.Stat(ctx, localDigest); err == nil { | ||||||
| 	if err == nil { |  | ||||||
| 		t.Fatalf("expected error statting deleted blob: %v", err) | 		t.Fatalf("expected error statting deleted blob: %v", err) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -36,7 +36,7 @@ func init() { | ||||||
| func TestFromParametersImpl(t *testing.T) { | func TestFromParametersImpl(t *testing.T) { | ||||||
| 
 | 
 | ||||||
| 	tests := []struct { | 	tests := []struct { | ||||||
| 		params   map[string]interface{} // techincally the yaml can contain anything
 | 		params   map[string]interface{} // technically the yaml can contain anything
 | ||||||
| 		expected DriverParameters | 		expected DriverParameters | ||||||
| 		pass     bool | 		pass     bool | ||||||
| 	}{ | 	}{ | ||||||
|  |  | ||||||
|  | @ -16,7 +16,7 @@ import ( | ||||||
| 	"github.com/aws/aws-sdk-go/service/cloudfront/sign" | 	"github.com/aws/aws-sdk-go/service/cloudfront/sign" | ||||||
| 	dcontext "github.com/docker/distribution/context" | 	dcontext "github.com/docker/distribution/context" | ||||||
| 	storagedriver "github.com/docker/distribution/registry/storage/driver" | 	storagedriver "github.com/docker/distribution/registry/storage/driver" | ||||||
| 	"github.com/docker/distribution/registry/storage/driver/middleware" | 	storagemiddleware "github.com/docker/distribution/registry/storage/driver/middleware" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| // cloudFrontStorageMiddleware provides a simple implementation of layerHandler that
 | // cloudFrontStorageMiddleware provides a simple implementation of layerHandler that
 | ||||||
|  |  | ||||||
|  | @ -366,7 +366,7 @@ func FromParameters(parameters map[string]interface{}) (*Driver, error) { | ||||||
| 	return New(params) | 	return New(params) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // getParameterAsInt64 converts paramaters[name] to an int64 value (using
 | // getParameterAsInt64 converts parameters[name] to an int64 value (using
 | ||||||
| // defaultt if nil), verifies it is no smaller than min, and returns it.
 | // defaultt if nil), verifies it is no smaller than min, and returns it.
 | ||||||
| func getParameterAsInt64(parameters map[string]interface{}, name string, defaultt int64, min int64, max int64) (int64, error) { | func getParameterAsInt64(parameters map[string]interface{}, name string, defaultt int64, min int64, max int64) (int64, error) { | ||||||
| 	rv := defaultt | 	rv := defaultt | ||||||
|  |  | ||||||
|  | @ -13,7 +13,7 @@ import ( | ||||||
| 	"github.com/docker/distribution/manifest/schema1" | 	"github.com/docker/distribution/manifest/schema1" | ||||||
| 	"github.com/docker/distribution/manifest/schema2" | 	"github.com/docker/distribution/manifest/schema2" | ||||||
| 	"github.com/opencontainers/go-digest" | 	"github.com/opencontainers/go-digest" | ||||||
| 	"github.com/opencontainers/image-spec/specs-go/v1" | 	v1 "github.com/opencontainers/image-spec/specs-go/v1" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| // A ManifestHandler gets and puts manifests of a particular type.
 | // A ManifestHandler gets and puts manifests of a particular type.
 | ||||||
|  |  | ||||||
|  | @ -19,7 +19,7 @@ import ( | ||||||
| 	"github.com/docker/distribution/testutil" | 	"github.com/docker/distribution/testutil" | ||||||
| 	"github.com/docker/libtrust" | 	"github.com/docker/libtrust" | ||||||
| 	"github.com/opencontainers/go-digest" | 	"github.com/opencontainers/go-digest" | ||||||
| 	"github.com/opencontainers/image-spec/specs-go/v1" | 	v1 "github.com/opencontainers/image-spec/specs-go/v1" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| type manifestStoreTestEnv struct { | type manifestStoreTestEnv struct { | ||||||
|  |  | ||||||
|  | @ -9,7 +9,7 @@ import ( | ||||||
| 	dcontext "github.com/docker/distribution/context" | 	dcontext "github.com/docker/distribution/context" | ||||||
| 	"github.com/docker/distribution/manifest/ocischema" | 	"github.com/docker/distribution/manifest/ocischema" | ||||||
| 	"github.com/opencontainers/go-digest" | 	"github.com/opencontainers/go-digest" | ||||||
| 	"github.com/opencontainers/image-spec/specs-go/v1" | 	v1 "github.com/opencontainers/image-spec/specs-go/v1" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| //ocischemaManifestHandler is a ManifestHandler that covers ocischema manifests.
 | //ocischemaManifestHandler is a ManifestHandler that covers ocischema manifests.
 | ||||||
|  |  | ||||||
|  | @ -9,7 +9,7 @@ import ( | ||||||
| 	"github.com/docker/distribution/manifest" | 	"github.com/docker/distribution/manifest" | ||||||
| 	"github.com/docker/distribution/manifest/ocischema" | 	"github.com/docker/distribution/manifest/ocischema" | ||||||
| 	"github.com/docker/distribution/registry/storage/driver/inmemory" | 	"github.com/docker/distribution/registry/storage/driver/inmemory" | ||||||
| 	"github.com/opencontainers/image-spec/specs-go/v1" | 	v1 "github.com/opencontainers/image-spec/specs-go/v1" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| func TestVerifyOCIManifestNonDistributableLayer(t *testing.T) { | func TestVerifyOCIManifestNonDistributableLayer(t *testing.T) { | ||||||
|  |  | ||||||
|  | @ -92,7 +92,7 @@ func (ms *schema2ManifestHandler) verifyManifest(ctx context.Context, mnfst sche | ||||||
| 		switch descriptor.MediaType { | 		switch descriptor.MediaType { | ||||||
| 		case schema2.MediaTypeForeignLayer: | 		case schema2.MediaTypeForeignLayer: | ||||||
| 			// Clients download this layer from an external URL, so do not check for
 | 			// Clients download this layer from an external URL, so do not check for
 | ||||||
| 			// its presense.
 | 			// its presence.
 | ||||||
| 			if len(descriptor.URLs) == 0 { | 			if len(descriptor.URLs) == 0 { | ||||||
| 				err = errMissingURL | 				err = errMissingURL | ||||||
| 			} | 			} | ||||||
|  |  | ||||||
|  | @ -5,6 +5,5 @@ | ||||||
| # | # | ||||||
| set -eu -o pipefail | set -eu -o pipefail | ||||||
| 
 | 
 | ||||||
| go get -u github.com/alecthomas/gometalinter | go get -u github.com/golangci/golangci-lint/cmd/golangci-lint | ||||||
| gometalinter --install >/dev/null |  | ||||||
| go get -u github.com/cpuguy83/go-md2man | go get -u github.com/cpuguy83/go-md2man | ||||||
|  |  | ||||||
							
								
								
									
										4
									
								
								tags.go
								
								
								
								
							
							
						
						
									
										4
									
								
								tags.go
								
								
								
								
							|  | @ -3,7 +3,7 @@ package distribution | ||||||
| import ( | import ( | ||||||
| 	"context" | 	"context" | ||||||
| 
 | 
 | ||||||
| 	digest "github.com/opencontainers/go-digest" | 	"github.com/opencontainers/go-digest" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| // TagService provides access to information about tagged objects.
 | // TagService provides access to information about tagged objects.
 | ||||||
|  | @ -28,7 +28,7 @@ type TagService interface { | ||||||
| 	Lookup(ctx context.Context, digest Descriptor) ([]string, error) | 	Lookup(ctx context.Context, digest Descriptor) ([]string, error) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // TagManifestsProvider provides method to retreive the digests of manifests that a tag historically
 | // TagManifestsProvider provides method to retrieve the digests of manifests that a tag historically
 | ||||||
| // pointed to
 | // pointed to
 | ||||||
| type TagManifestsProvider interface { | type TagManifestsProvider interface { | ||||||
| 	// ManifestDigests returns set of digests that this tag historically pointed to. This also
 | 	// ManifestDigests returns set of digests that this tag historically pointed to. This also
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue