Comments (7)
I am willing to do this work. Should we have any discussion before I begin?
One simple question is what the namespace should be. I suggest "docker.registry" as a natural, predictable namespace. from docker.registry.storage import Storage
for example. Or if you want to keep this distinct from the "docker" namespace, you could choose "docker_registry", as in from docker_registry.storage import Storage
. That's a bit more cumbersome to type though. :)
I am very interested in doing this because I would also like to add (as a separate effort of course) the use of python entry points for loading 3rd-party storage backends. That isn't possible without making the registry a python package.
from docker-registry.
I'll run through a few benefits just to help support the RFE:
- The install process already steers you toward making a virtualenv in which to install dependencies, so it is a natural next step to install the registry the same way.
- A huge benefit of having the registry on the python path is that other projects can use it, import it, and extend it. For example, "from docker.registry.storage import Storage", then make a subclass.
- Another benefit is that it makes packaging for an OS easier.
- Manipulating sys.path is risky, and it could cause OS distributions to be hesitant about including docker-registry. However, making an rpm/deb/whatever from a standard python package is very straight-forward and a common/well-understood process.
from docker-registry.
On Fri, Mar 21, 2014 at 12:45:31PM -0700, Michael Hrivnak wrote:
One simple question is what the namespace should be. I suggest
"docker.registry" as a natural, predictable namespace.from docker.registry.storage import Storage
for example. Or if you want
to keep this distinct from the "docker" namespace, you could choose
"docker_registry", as infrom docker_registry.storage import Storage
.
I'm not a maintainer, but my personal preference is for
docker_registry, to force a clear distinction between this server-side
stuff and the the client-side docker package 1. We also avoid the
namespace package shenanigans needed to graft the registry code onto
an existing (or not?) docker-py install [2,3].
from docker-registry.
On Fri, Mar 21, 2014 at 12:45:31PM -0700, Michael Hrivnak wrote:
I am willing to do this work. Should we have any discussion before I
begin?
Also, as I pointed out earlier 1, this restructuring would conflict
with my outstanding #247. A restructuring PR in parallel with #247
would be possible, but a bit awkward, and I'd like to minimize the
overlap period while both are cooking. I'm happy if that's by merging
#247 before starting on this, or by doing this restructuring and
landing it quickly, after which I can rebase #247. I just don't want
both a restructuring and #247 to drag on through multiple future
iterations before one of them lands.
from docker-registry.
docker-py does indeed already have the docker
namespace, so I'm going with docker_registry
.
I've already done most of the work of moving things around, and all the tests pass. Now I just need to hand-test running it, and update things like build.sh
and Dockerfile
. So I should be able to submit a PR in the near future, and hopefully it won't require too much back-and-forth in the review process. :)
So @wking , I am hopeful that the restructure will be done very soon. I think it won't be difficult to rebase, as I've left the structure within each module alone. Everything in lib
looks the same, everything in storage
looks the same, etc. Just the import statements are different.
from docker-registry.
Now that #297 is landed, future releases should get pushed to PyPI and
we can close this issue.
from docker-registry.
We can now close the oldest registry issue \o/
https://pypi.python.org/pypi?%3Aaction=search&term=docker-registry-&submit=search
from docker-registry.
Related Issues (20)
- Push Manifest by http api v2 failed
- Delete last tag
- Need to delete
- ini ..
- curl works but docker search doesnt work
- Docker registry takes extended time to restart after a system reboot
- registry - image exists - but doesn't show in catalog HOT 2
- curl docker search return image name with %252F instead of slash
- ps
- Docker EOF erro in Windows 10 Pro Machine
- gistry cli HOT 1
- Delete repository with v2 REST API? (when images, tags are removed and even GC has run) HOT 6
- Delete image, manifest unknown
- Pull from private image not working HOT 1
- docker push error
- Docker Private Registry Configuration Question related to redis HOT 1
- Unable to push images to s3 in ireland region
- Can't use FQDN of host when pushing images to remote registry (Unsecure) HOT 2
- 401 Unauthorized for correct password - and correct htpasswd.
- Pull Microsoft Images Fail "Blob unknown"
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from docker-registry.