forked from TrueCloudLab/distribution
Initial open-design proposal
This commit is contained in:
parent
f02cfee950
commit
e31b7d8d9a
5 changed files with 171 additions and 0 deletions
55
CONTRIBUTING.md
Normal file
55
CONTRIBUTING.md
Normal file
|
@ -0,0 +1,55 @@
|
|||
# Contributing to the registry
|
||||
|
||||
## Are you having issues?
|
||||
|
||||
Please first try any of these support forums before opening an issue:
|
||||
|
||||
* irc #docker on freenode (archives: [https://botbot.me/freenode/docker/])
|
||||
* https://forums.docker.com/
|
||||
* if your problem is with the "hub" (the website and other user-facing components), or about automated builds, then please direct your issues to https://support.docker.com
|
||||
|
||||
## So, you found a bug?
|
||||
|
||||
First check if your problem was already reported in the issue tracker.
|
||||
|
||||
If it's already there, please refrain from adding "same here" comments - these don't add any value and are only adding useless noise. **Said comments will quite often be deleted at sight**. On the other hand, if you have technical, relevant informations to add, by all means do!
|
||||
|
||||
Your issue is not there? Then please, create a ticket.
|
||||
|
||||
If possible the following guidelines should be followed:
|
||||
|
||||
* try to come up with a minimal, simple to reproduce test-case
|
||||
* try to add a title that describe succintly the issue
|
||||
* if you are running your own registry, please provide:
|
||||
* registry version
|
||||
* registry launch command used
|
||||
* registry configuration
|
||||
* registry logs
|
||||
* in all cases:
|
||||
* `docker version` and `docker info`
|
||||
* run your docker daemon in debug mode (-D), and provide docker daemon logs
|
||||
|
||||
|
||||
## You have a patch for a known bug, or a small correction?
|
||||
|
||||
Basic github workflow (fork, patch, make sure the tests pass, PR).
|
||||
|
||||
... and some simple rules to ensure quick merge:
|
||||
|
||||
* clearly point to the issue(s) you want to fix
|
||||
* when possible, prefer multiple (smaller) PRs adressing individual issues over a big one trying to adress multiple issues at once
|
||||
* if you need to amend your PR following comments, squash instead of adding more commits
|
||||
|
||||
## You want some shiny new feature to be added?
|
||||
|
||||
Fork the project.
|
||||
|
||||
Create a new proposal in the folder open-design/specs, named DEP_MY_AWESOME_PROPOSAL.md, using open-design/specs/TEMPLATE.md as a starting point.
|
||||
|
||||
Then immediately submit this new file as a pull-request, in order to get early feedback.
|
||||
|
||||
Eventually, you will have to update your proposal to accommodate with the feedback you received.
|
||||
|
||||
Usually, it's advised not to start working too much on the implementation itself before the proposal receives sufficient feedback, since it can significantly altered (or rejected).
|
||||
|
||||
Your implementation should then be submitted as a separate PR, that will be reviewed as well.
|
3
MAINTAINERS
Normal file
3
MAINTAINERS
Normal file
|
@ -0,0 +1,3 @@
|
|||
Solomon Hykes <solomon@docker.com> (@shykes)
|
||||
Olivier Gambier <olivier@docker.com> (@dmp42)
|
||||
Sam Alba <sam@docker.com> (@samalba)
|
20
open-design/MANIFESTO.md
Normal file
20
open-design/MANIFESTO.md
Normal file
|
@ -0,0 +1,20 @@
|
|||
# The "Distribution" project
|
||||
|
||||
## What is this
|
||||
|
||||
This is a part of the Docker project, or "primitive" that handles the "distribution" of images.
|
||||
|
||||
### Punchline
|
||||
|
||||
Pack. Sign. Ship. Store. Deliver. Verify.
|
||||
|
||||
### Technical scope
|
||||
|
||||
Distribution has tight relations with:
|
||||
|
||||
* libtrust, providing cryptographical primitives to handle image signing and verification
|
||||
* image format, as transferred over the wire
|
||||
* docker-registry, the server side component that allows storage and retrieval of packed images
|
||||
* authentication and key management APIs, that are used to verify images and access storage services
|
||||
* PKI infrastructure
|
||||
* docker "pull/push client" code gluing all this together - network communication code, tarsum, etc
|
41
open-design/ROADMAP.md
Normal file
41
open-design/ROADMAP.md
Normal file
|
@ -0,0 +1,41 @@
|
|||
# Roadmap
|
||||
|
||||
## 24/11/2014: alpha
|
||||
|
||||
Design and code:
|
||||
|
||||
- implements a basic configuration loading mechanism: https://github.com/docker/docker-registry/issues/646
|
||||
- storage API is frozen, implemented and used: https://github.com/docker/docker-registry/issues/616
|
||||
- REST API defined and partly implemented: https://github.com/docker/docker-registry/issues/634
|
||||
- basic logging: https://github.com/docker/docker-registry/issues/635
|
||||
- auth design is frozen: https://github.com/docker/docker-registry/issues/623
|
||||
|
||||
Environment:
|
||||
|
||||
- some good practice are in place and documented: https://github.com/docker/docker-registry/issues/657
|
||||
|
||||
## 12/22/2014: beta
|
||||
|
||||
Design and code:
|
||||
|
||||
- feature freeze
|
||||
- mirroring defined: https://github.com/docker/docker-registry/issues/658
|
||||
- extension model defined: https://github.com/docker/docker-registry/issues/613
|
||||
|
||||
Environment:
|
||||
|
||||
- doc-driven approach: https://github.com/docker/docker-registry/issues/627
|
||||
|
||||
## 01/12/2015: RC
|
||||
|
||||
Design and code:
|
||||
|
||||
- third party drivers and extensions
|
||||
- basic search extension
|
||||
- third-party layers garbage collection scripts
|
||||
- healthcheck endpoints: https://github.com/docker/docker-registry/issues/656
|
||||
- bugnsnag/new-relic support: https://github.com/docker/docker-registry/issues/680
|
||||
|
||||
Environment:
|
||||
|
||||
- exhaustive test-cases
|
52
open-design/specs/TEMPLATE.md
Normal file
52
open-design/specs/TEMPLATE.md
Normal file
|
@ -0,0 +1,52 @@
|
|||
# DEP #X: Awesome proposal
|
||||
|
||||
## Scope
|
||||
|
||||
This is related to "Foo" (eg: authentication/storage/extension/...).
|
||||
|
||||
## Abstract
|
||||
|
||||
This proposal suggests to add support for "bar".
|
||||
|
||||
## User stories
|
||||
|
||||
"I'm a Hub user, and 'bar' allows me to do baz1"
|
||||
|
||||
"I'm a FOSS user running my private registry and 'bar' allows me to do baz2"
|
||||
|
||||
"I'm a company running the registry and 'bar' allows me to do baz3"
|
||||
|
||||
## Technology pre-requisites
|
||||
|
||||
'bar' can be implemented using:
|
||||
|
||||
* foobar approach
|
||||
* barfoo concurrent approach
|
||||
|
||||
## Dependencies
|
||||
|
||||
Project depends on baz to be completed (eg: docker engine support, or another registry proposal).
|
||||
|
||||
## Technical proposal
|
||||
|
||||
We are going to do foofoo alongside with some chunks of barbaz.
|
||||
|
||||
## Roadmap
|
||||
|
||||
* YYYY-MM-DD: proposal submitted
|
||||
* YYYY-MM-DD: proposal reviewed and updated
|
||||
* YYYY-MM-DD: implementation started (WIP PR)
|
||||
* YYYY-MM-DD: implementation complete ready for thorough review
|
||||
* YYYY-MM-DD: final PR version
|
||||
* YYYY-MM-DD: implementation merged
|
||||
|
||||
## Editors
|
||||
|
||||
Editors:
|
||||
|
||||
* my Company, or maybe just me
|
||||
|
||||
Implementors:
|
||||
|
||||
* me and my buddies
|
||||
* another team working on a different approach
|
Loading…
Reference in a new issue