Commit Graph

47 Commits

Author SHA1 Message Date
Olivier Gambier
1963b7902e Merge pull request #312 from stevvooe/add-layer-info-cache
registry: integrate layer info cache with registry and storage
2015-04-03 13:53:27 -07:00
Stephen Day
f5a34a009a Merge pull request #317 from stevvooe/notification-docs
doc: document event notification system
2015-04-03 13:49:24 -07:00
Stephen Day
d43adcd910 Merge pull request #320 from RichardScothern/docs
doc: document storage middleware.
2015-04-03 13:48:43 -07:00
Stephen Day
aea2965636 Merge pull request #316 from stevvooe/eventual-consistency-approach
doc: document approach to eventual consistency
2015-04-03 13:46:19 -07:00
Richard
3573c6c466 Document storage middleware. 2015-04-03 13:45:40 -07:00
Nathan Sullivan
06ff65c579 fix github issue link, simple typo 2015-04-04 01:03:43 +10:00
Stephen J Day
91413606a3 Document event notification system
An overview the notification system is provided, covering topics on
architecture, configuration, implementation and formats. This may need to
filled out with further details covering format specifications.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-04-02 22:09:25 -07:00
Stephen J Day
2df6b670c6 Document approach to eventual consistency
There is probably a better place for this documentation but we'd like to move
this elsewhere than a github issue. We can move this to a more appropriate
location with the documentation effort.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-04-02 20:24:18 -07:00
Stephen J Day
919d972e65 Allow control over which storage cache to use
This allows one to better control the usage of the cache and turn it off
completely. The storage configuration module was modified to allow parameters
to be passed to just the storage implementation, rather than to the driver.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-04-02 20:15:16 -07:00
Stephen J Day
1944be9db3 Stronger validation for uuid field in urls
This change adds strong validation for the uuid variable for v2 routes. This is
a minor specification change but is okay since the uuid field is controlled by
the server. The character set is restricted to avoid path traversal, allowing
for alphanumeric values and urlsafe base64 encoding.

This change has no effect on client implementations.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-04-01 18:57:59 -07:00
Stephen J Day
3cad3c7b6a Add redis pool to registry webapp
Redis has been integrated with the web application for use with various
services. The configuraiton exposes connection details, timeouts and pool
parameters. Documentation has been updated accordingly.

A few convenience methods have been added to the context package to get loggers
with certain fields, exposing some missing functionality from logrus.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-04-01 16:27:24 -07:00
Stephen Day
5052dc692f Merge pull request #283 from sthulb/client-certs
registry, configuration, doc: client certificates for authentication purposes.
2015-03-31 16:45:03 -07:00
Simon Thulbourn
c8f3800f1c Add client certificate CA option to authenticate with client certs
Add the ability to authenticate against multiple client CA certificates.

Signed-off-by: Simon Thulbourn <simon+github@thulbourn.com>
2015-03-25 10:53:03 +00:00
Stephen J Day
ac73963d7e Add support for configuration static logging fields
To allow flexibility in log message context information, this changeset
provides the ability to configure static fields that are included in the
context. Such fields can be set via configuration or environment variables.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-03-24 18:47:22 -07:00
Stephen J Day
a75f0f26f7 Allow logging formatter to be configured
This changeset simply adds hooks into the configuration system to support
multiple different kinds of output formats. These formatters are provided by
logrus and include options such as "text" and "json". The configuraiton
documentation has been updated accordingly.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-03-24 16:56:43 -07:00
Shreyas Karnik
5537bcd4ae Added valid values to the configuration examples
Signed-off-by: Shreyas Karnik <karnik.shreyas@gmail.com>
2015-03-24 18:28:20 -05:00
Shreyas Karnik
98e2aa96de removing references to chunksize which is optional 2015-03-24 18:16:02 -05:00
Ahmet Alp Balkan
ce9f500a31 storage/driver/azure: Allow non-default realms
This enables Azure storage driver to be used with non-default
cloud endpoints like Azure China or Azure Government that does
not use `.blob.core.windows.net` FQDN suffix.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-03-23 20:41:16 -07:00
Nghia Tran
5e06d6500c Update api.md
It seems a few places "download" instead of "upload".

Signed-off-by: Nghia Tran <tcnghia@gmail.com>
2015-03-20 07:56:30 -07:00
Stephen Day
7e7b6109dc Merge pull request #236 from endophage/config
Adding docs for full suite of configuration options
2015-03-17 21:12:19 -07:00
Stephen Day
ac550484be Merge pull request #226 from stevvooe/json-canonicalization
doc/spec: canonicalized JSON format for distribution APIs
2015-03-16 13:21:39 -07:00
Stephen J Day
e891939ebc spec: Canonicalized JSON Format for Distribution APIs
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-03-16 13:03:02 -07:00
David Lawrence
490e90d299 adding full suite of configuration options
Signed-off-by: David Lawrence <david.lawrence@docker.com> (github: endophage)
2015-03-10 12:45:36 -07:00
Stephen Day
81a03041d4 Merge pull request #243 from stevvooe/storagedriver-docs
doc: move storage driver readmes into docs
2015-03-06 11:25:42 -08:00
Stephen J Day
52865bb128 doc/storagedrivers: update storage driver documentation links
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-03-05 17:30:40 -08:00
Stephen J Day
41b1e22f97 doc: move storage driver readmes into docs
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-03-05 17:23:33 -08:00
Stephen J Day
f536633ca8 spec: fetch manifests by tag or digest
Manifests are now fetched by a field called "reference", which may be a tag or
a digest. When using digests to reference a manifest, the data is immutable.
The routes and specification have been updated to allow this.

There are a few caveats to this approach:

1. It may be problematic to rely on data format to differentiate between a tag
   and a digest. Currently, they are disjoint but there may modifications on
   either side that break this guarantee.
2. The caching characteristics of returned content are very different for
   digest versus tag-based references. Digest urls can be cached forever while tag
   urls cannot.

Both of these are minimal caveats that we can live with in the future.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-03-04 21:39:36 -08:00
xiekeyang
4f9a6782bb patch #222 to api.md.tmpl 2015-03-05 13:12:27 +08:00
Stephen J Day
ad11768765 Update README and outline documentation
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-03-02 23:33:02 -08:00
Stephen Day
16d8b2c34d Merge pull request #213 from stevvooe/docker-upload-uuid
doc/spec, registry/handlers: specify and implement Docker-Upload-UUID
2015-03-02 10:51:15 -08:00
xiekeyang
10841a068d jump to relevant issue page 2015-02-28 11:38:38 +08:00
xiekeyang
d46cf006a3 update api.md 2015-02-28 11:02:47 +08:00
Stephen J Day
996235dc59 Specify and implement Docker-Upload-UUID
This changeset adds support for a header to identify docker upload uuids. This
id can be used as a key to manage local state for resumable uploads. The goal
is remove the necessity for a client to parse the url to get an upload uuid.
The restrictions for clients to use the location header are still strongly in
place.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-02-26 16:43:47 -08:00
Josh Hawn
a46af29783 Documentation for Token based Auth
Outlines the format of the tokens and how they are verified.

Outlines how clients should respond to bearer token authorization
challenges.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-02-10 18:15:14 -08:00
Stephen J Day
b429176dd7 Move API specification into correct position
The goal is to maintain a specification heirarchy under doc/spec. This change
sets the example. The Makefile has also been changed update the AUTHORS file
and can now generate the specification.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-02-06 17:49:50 -08:00
Stephen J Day
c080c40030 Remove erroneous error code on layer upload delete
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-01-29 20:44:22 -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
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
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
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
Stephen J Day
3a46ac26d8 Justify formatting in specification 2014-12-18 16:09:35 -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