On Thu, 28 Apr 2016 15:47:57 -0500
Adam Miller <maxamillion(a)fedoraproject.org> wrote:
...snip...
Workflow:
OSBS will perform Builds, as these builds complete they will be
pushed to the docker-distribution (v2) registry, these will be
considered "candidate images". Pulp will sync and publish the
candidate repository.
so, like updates-testing?
Testing will occur using the "candidate images"
(details of how
we want to handle that are outside the scope of this proposal).
ok. Hopefully we could add support for this to bodhi or some existing
setup.
A "candidate image" will be marked stable once it's
criteria have
been satisfied to do so. (This is vague because this is a topic of
ongoing discussion and work to decide what criteria an image will
need to abide by before being considered "stable" and promoted as
such)
Once stable, pulp will publish that repository's content to a
directory, we will split that content and sync the image layers along
with their metadata to Mirror Manager master mirror. We will also
sync the repo metadata published by Pulp to somewhere Crane can pick
it up. (This could and will likely be something that Bodhi triggers
via the Pulp REST API)
How big / many files is a typical container?
Mirror Manager will Pulp distribute to the mirrors the image
layers and their metadata.
Can you expand on what you mean by pulp distribute here?
Mirrors rsync from us to distribute content. There is pretty much 0
chance we can get them all to run pulp.
Crane will get the new repository metadata and will serve
redirects to the new content relative to
download.fedoraproject.org
which will perform another redirect (via MirrorManager) where the
docker client upon a "docker pull" will find it's content.
I have put together an ascii diagram in hopes that it will assist in
seeing the full picture.
https://maxamillion.fedorapeople.org/FedoraPulpDocker.txt
(I couldn't get it to paste cleanly into my email client)
If there are any questions, comments, or feedback please let me know.
So, I am wondering how important pulp is here. I guess we need it to
create manifests? Might there be a smaller tool to do that?
Sounds like we need to expose crane for incoming pull requests, but
everything else is internal?
kevin