Skip to content
This repository has been archived by the owner on Nov 30, 2021. It is now read-only.

(proposal): use registry-to-registry transfer #1227

Merged
merged 25 commits into from Jul 11, 2014
Merged

Conversation

bacongobbler
Copy link
Member

Note that this is a PR made against the deis-build branch.

Instead of running a docker engine in the controller, I implemented a new feature to the registry that allows a user to pull in a repository from one registry to another. This greatly simplifies the deis-build PR. Note that the public index does not work due to the endpoints being (mostly) closed source. This must be implemented upstream in https://github.com/deis/docker-registry/compare/repository-import.

The meat of this is hard to write tests for, but will get added eventually in the upstream PR before this is merged into master. I just needed this PR to work and get some discussion going :)

I've also contributed some fixes to the comments that I made in #1190

Matthew Fisher added 18 commits June 26, 2014 08:21
The endpoint introduced in this branch is important as it allows registry-to-registry
repository transfers. This is required to speed up the `deis build` process and to remove
the docker engine from the controller.
The intention of the docker engine was such that we could use it to pull in an image
from a registry and push it to our own. Now that we have registry transfers, this
is no longer required.
Since docker-in-docker is not installed on the controller any more, let's revert
back to the private module.
Some things changed with the version bump like how the docker registry process is
started and where dependencies are installed from.
This setting is useful for id index.docker.io ever changes.
This change allows us to import an image from a remote repository,
thanks to a new feature implemented in
https://github.com/deis/docker-registry/compare/repository-import.

Though the infrastructure in place allows us to import an image from the public index,
the endpoints are closed-source and therefore are not implmented in the upstream
repository-import branch.
@bacongobbler
Copy link
Member Author

ping @gabrtv for review

@bacongobbler
Copy link
Member Author

tasklist as per @gabrtv's review:

  • clean up the method signature for publish_release
  • move the URL scheme from Release.new to tasks.import_repository, clean up method signature
  • add public index support

Matthew Fisher added 5 commits June 27, 2014 13:09
Publishing a release should only know about a source, a dictionary of
configuration, and a target.
The logic has been moved over to the registry, so it's not needed any more.
Registry repository imports does not like tags.
`docker build` can take a while, which times out the builders. Adding
a larger timeout gives us some more leeway.
@bacongobbler
Copy link
Member Author

Merging into the deis-build branch. Manually tested and both public and private indexes both work :)

bacongobbler pushed a commit that referenced this pull request Jul 11, 2014
(proposal): use registry-to-registry transfer
@bacongobbler bacongobbler merged commit 864c96b into deis-build Jul 11, 2014
@bacongobbler bacongobbler deleted the deis-build-v2 branch July 11, 2014 16:59
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant