Commit Graph

284 Commits (07ba5db168eadb060ac359b1e760e39577bff483)

Author SHA1 Message Date
Brian Bland 07ba5db168 Serializes upload state to an HMAC token for subsequent requests
To support clustered registry, upload UUIDs must be recognizable by
registries that did not issue the UUID. By creating an HMAC verifiable
upload state token, registries can validate upload requests that other
instances authorized. The tokenProvider interface could also use a redis
store or other system for token handling in the future.
2015-01-05 14:27:05 -08:00
Stephen Day c08c6c506e Merge pull request #16 from docker/circle
Circle
2015-01-05 14:23:06 -08:00
Olivier Gambier 89cd694e51 Merge pull request #21 from stevvooe/manifest-package
Move manifest to discrete package
2015-01-05 11:30:56 -08:00
Arnaud Porterie e637d77c73 Fix documentation link 2015-01-04 11:38:37 -08:00
Stephen J Day 2653f73779 Rename History object to comply with golint
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-01-02 18:08:53 -08:00
Stephen J Day f1f610c6cd Decouple manifest signing and verification
It was probably ill-advised to couple manifest signing and verification to
their respective types. This changeset simply changes them from methods to
functions. These might not even be in this package in the future.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-01-02 15:46:47 -08:00
Stephen J Day 579aa3b617 Add unit tests for manifest package
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-01-02 15:24:10 -08:00
Stephen J Day a4024b2f90 Move manifest to discrete package
Because manifests and their signatures are a discrete component of the
registry, we are moving the definitions into a separate package. This causes us
to lose some test coverage, but we can fill this in shortly. No changes have
been made to the external interfaces, but they are likely to come.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-01-02 13:23:11 -08:00
Stephen Day cd748f92ab Merge pull request #7 from stevvooe/api-specification-introduction
Rewrite Introduction section of specification
2015-01-02 10:47:47 -08:00
Olivier Gambier 428efa04dd Test circle 2015-01-02 10:37:54 -08:00
Stephen Day 1b4b67a0a5 Merge pull request #14 from icecrime/sprint_doc
Update README.md and documentation
2014-12-30 15:51:22 -08:00
Olivier Gambier 04552f12fd Workaroung circleci bug 2014-12-30 13:34:33 -08:00
Stephen Day c10eb5286a Merge pull request #9 from BrianBland/master
Adds basic READMEs to inmemory and filesystem storage drivers
2014-12-30 11:02:50 -08:00
Stephen J Day 7f485719ed Rewrite Introduction section of specification
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2014-12-29 17:08:55 -08:00
Arnaud Porterie e1eeec3e2f Update README.md and documentation
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2014-12-29 14:12:33 -08:00
Brian Bland 5880dcfdba Adds basic READMEs to inmemory and filesystem storage drivers 2014-12-29 13:59:40 -08:00
Olivier Gambier 6aa51bb7f1 Merge pull request #2 from docker/fix-refs
Move from docker-registry to distribution
2014-12-23 21:24:39 -08:00
Olivier Gambier 67ca9d10cf Move from docker-registry to distribution 2014-12-23 17:13:02 -08:00
Olivier Gambier 83b810104c Merge pull request #4 from stevvooe/master
Merge missing commits
2014-12-23 17:09:09 -08:00
Stephen J Day bd631a32b3 Merge remote-tracking branch 'upstream-registry/next-generation' 2014-12-23 16:35:16 -08:00
Olivier Gambier 5cd308f829 Merge pull request #1 from icecrime/import-next-generation
Import docker-registry/next-generation branch
2014-12-23 15:54:09 -08:00
Arnaud Porterie ae55a8232f Import next-generation branch
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2014-12-23 15:32:00 -08:00
Olivier Gambier 6612be9acb Merge pull request #868 from stevvooe/ng-api-specification
[WIP] Automatically generate V2 API specification
2014-12-23 15:14:39 -08:00
Olivier Gambier e33c5d90b2 Merge pull request #864 from AndreyKostov/next-generation
S3 storage driver for next gen modifications
2014-12-23 15:03:10 -08:00
Andrey Kostov da6e2f96ec S3 driver input parameter fixes 2014-12-23 10:54:01 +02:00
Olivier Gambier 5176c3e6b4 Initial commit 2014-12-22 15:49:26 -08:00
Andrey Kostov d296a3d2c0 First pass at cleanup for PR merge 2014-12-23 00:24:45 +02:00
Andrey Kostov a32e6125e0 Zero fill bug fix 2014-12-21 20:34:35 +02:00
Andrey Kostov ea24d0f735 Add eventual consistency test 2014-12-21 17:46:52 +02:00
Andrey Kostov fee9e9ed6e Make driver work with read only creds and remove multi cleanup on boot 2014-12-21 08:48:42 +02:00
Andrey Kostov 1ffb5db12b Replace ReadFull with Read and some cleanup 2014-12-20 10:32:48 +02:00
Andrey Kostov 576495ec3e Loop bug fix 2014-12-20 00:18:27 +02:00
Andrey Kostov a952c77b4a Minor style change 2014-12-19 23:32:39 +02:00
Andrey Kostov 11ed0515d0 Implements zero fill behaviour for large offset in WriteStream
This requires a very intricate WriteStream test, which will be in the next commit.
2014-12-19 19:20:07 +02:00
Andrey Kostov 8ca960a0b5 S3 driver refactor
This requires some discussion of how we will handle errors due to network problems
and after further changes in that direction some more stress testing. There is also an
upcomming commit implementing zero fill on WriteStream when offset is greater than
the current size of the file.
2014-12-19 19:16:51 +02:00
Stephen J Day e32b1e66f3 Simplify parameter descriptor declarations 2014-12-18 21:39:56 -08:00
Stephen J Day 45e5148df6 Generate initial V2 API specification 2014-12-18 21:38:20 -08:00
Stephen J Day 06ebc514a7 Automatically generate V2 API specification
This changeset provides data structures and definitions describing the routes
available in the V2 registry API. These route descriptors are structured to
provide automated registration, for creating routers, in addition to complete
documentation duty. It's also a possibility that this could be used to
enumerate test coverage for server implementation.

Using this functionality, we've also developed a template to automatically
generate and API specification for submission into docker core.
2014-12-18 21:29:56 -08:00
Olivier Gambier e8650d20a1 Merge pull request #867 from stevvooe/next-generation
Ensure that unset Context.Name only allowed on base route
2014-12-18 17:35:39 -08:00
Stephen J Day b1f36c3fe5 Ensure that unset Context.Name only allowed on base route
If Context.Name is not set, the acceess controller may allow an unintended
request through. By only allowing a request to proceed without a name on the
base route, we provide some protection if future bugs forget to set the context
properly.
2014-12-18 17:25:06 -08:00
Stephen J Day 3a46ac26d8 Justify formatting in specification 2014-12-18 16:09:35 -08:00
Olivier Gambier e50fcc0ab9 Merge pull request #862 from jlhawn/ng_auth_package
Refactor token verification to support x5c header
2014-12-18 15:18:07 -08:00
Olivier Gambier 5b23de4177 Merge pull request #865 from stevvooe/next-generation
Integrate auth.AccessController into registry app
2014-12-18 15:04:55 -08:00
Stephen J Day 29d0d2202a Baseline specification from docker/docker#9015
As a baseline for the new registry API specification, we are checking in the
proposal as currently covered in docker/docker#9015. This will allow us to
trace the process of transforming the proposal into a specification. The goal
is to use api descriptors to generate templated documentation into SPEC.md. The
resulting product will be submitted into docker core as part of the client PR.
2014-12-18 14:50:07 -08:00
Stephen J Day d0a9e9b475 Integrate auth.AccessController into registry app
This changeset integrates the AccessController into the main registry app. This
includes support for configuration and a test implementation, called "silly"
auth. Auth is only enabled if the configuration is present but takes measure to
ensure that configuration errors don't allow the appserver to start with open
access.
2014-12-18 12:34:56 -08:00
Stephen Day 3b8847f489 Merge pull request #863 from BrianBland/ng-storagedriver
Fixes filesystem storage driver List semantics for nonexistent directory
2014-12-18 10:47:31 -08:00
Stephen Day e20c6ea4fb Merge pull request #861 from BrianBland/ng-configuration
Genericizes the yaml+environment versioned configuration parser
2014-12-18 10:44:25 -08:00
Stephen Day e847c27b80 Merge pull request #858 from docker/CI
Multi-go test
2014-12-18 10:39:21 -08:00
Brian Bland 030b0ff310 Allows storagedriver parameter values to be of type interface{}
This enables use of nil, booleans, numeric types, and even complex structures for parameter values, assuming they can be parsed from yaml.
2014-12-17 19:06:55 -08:00
Olivier Gambier e600f7ccb7 Erm 2014-12-17 18:14:25 -08:00