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