Commit graph

287 commits

Author SHA1 Message Date
Stephen J Day
adaa2246e7 Move testutil package to top-level
Since the common package no longer exists, the testutil package is being moved
up to the root. Ideally, we don't have large omnibus packages, like testutil,
but we can fix that in another refactoring round.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-01-05 16:53:13 -08:00
Stephen J Day
d88884c51c Move names regular expressions to api/v2 packages
Because the repository name definitions are part of the v2 specification, they
have been moved out of the common package. This is part of the effort to break
up the common package into more sensible components.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-01-05 16:44:03 -08:00
Stephen J Day
8be20212f1 Move tarsum utilities out of common package
In preparation for removing the common package, the tarsum utilities are being
moved to the more relevant digest package. This functionality will probably go
away in the future, but it's maintained here for the time being.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-01-05 16:04:30 -08:00
Stephen J Day
1266f13afa Move StringSet to new collections package
As part of the efforts to break up the common package before disaster strikes,
a new collections package has been created. More may belong there but for now,
it only includes an implementation of StringSet.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-01-05 15:18:03 -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