Commit graph

2790 commits

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 J Day
9c14404630 Address minor typos in response descriptions
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-01-02 11:39:43 -08:00
Stephen J Day
a882355dcd Regenerate V2 API Specification from template
Many details have been updated in route descriptors. This commit regenerates
the specification from the latest changes and template.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-01-02 10:49:10 -08:00
Stephen J Day
977373912c Tweak template output whitespace around descriptions
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-01-02 10:49:10 -08:00
Stephen J Day
80816100e2 Fill in API detail in RouteDescriptors
This changeset fills in details for many RouteDescriptors, ensuring that
responses and their variation are fully covered. At this point, all endpoints
are described in full. Tweaks for consistency and to avoid repetition may still
need to be done.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-01-02 10:49:10 -08:00
Stephen J Day
71819ac9c3 Use full json content type with charset parameter 2015-01-02 10:49:10 -08:00
Stephen J Day
83b899dab6 Add blob upload invalid error code 2015-01-02 10:49:10 -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