The requirements are installed using Portage, because that handles
non-Python requirements gracefully, and caches all the source tarballs
for later use (e.g. if PyPI is down). Note with the
20140206
snapshot, this installs dev-python/gevent-1.0_rc3, which is based on
libev not libevent like the pre 1.0 gevents [1]:
New version of gevent uses libev and c-ares rather than libevent and
includes all the dependencies in the release tarball.
You may have to bump your gevent requirements (docker-registry's
requirements.txt currently pins it at 0.13.8) or install
dev-libs/libevent if you want to run the tox test suite.
Bugsnag doesn't have a Gentoo package, so I don't install it. That
means you won't be able to use Bugsnag with this image (unless you
install it yourself), and you'll want a version of docker-registry
that includes
e253550 (Merge pull request #241 from
wking/optional-bugsnag, 2014-02-11).
[1]: https://pypi.python.org/pypi/gevent/0.13.8
`-- gentoo-en-us (adds locale)
`-- gentoo-syslog (adds syslog-ng and associates)
|-- buildbot (adds a Buildbot master and slave)
+ |-- docker-registry (adds a Docker registry server)
|-- memcached (adds Memcached)
|-- nginx (adds Nginx)
| |-- nginx-proxy (SSL/TLS proxying via SNI)
gentoo-syslog
gentoo-java
buildbot
+ docker-registry
elasticsearch
memcached
nginx
--- /dev/null
+# Copyright (C) 2013 W. Trevor King <wking@tremily.us>
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# * Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+#
+# * Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+
+FROM ${NAMESPACE}/gentoo-syslog:${TAG}
+MAINTAINER ${MAINTAINER}
+#VOLUME ["${PORTAGE}:/usr/portage:ro", "${PORTAGE}/distfiles:/usr/portage/distfiles:rw"]
+RUN echo 'USE="${USE} sqlite"' >> /etc/portage/make.conf
+RUN echo 'PYTHON_TARGETS="python2_7"' >> /etc/portage/make.conf
+RUN echo 'PYTHON_SINGLE_TARGET="python2_7"' >> /etc/portage/make.conf
+RUN echo 'USE_PYTHON="2.7"' >> /etc/portage/make.conf
+ADD package.accept_keywords /etc/portage/package.accept_keywords
+RUN emerge -v dev-python/blinker dev-python/boto dev-python/backports-lzma dev-python/flask dev-python/gevent dev-python/pyopenssl dev-python/python-glanceclient dev-python/python-keystoneclient dev-python/python-swiftclient dev-python/pyyaml dev-python/redis-py dev-python/requests dev-python/rsa dev-python/simplejson dev-vcs/git www-servers/gunicorn
+RUN eselect news read new
+RUN git clone git://github.com/dotcloud/docker-registry.git
+RUN cp --no-clobber docker-registry/config/config_sample.yml docker-registry/config/config.yml
+
+# Container networking happens automatically
+RUN sed -i 's/need net$/use net/' /etc/init.d/*
+
+CMD cd docker-registry && ./setup-configs.sh && ./run.sh
+EXPOSE 5000
--- /dev/null
+Run this [docker-registry][] image with:
+
+ $ mkdir /var/lib/docker-registry
+ $ docker run -d -name docker-registry \
+ > -v /var/lib/docker-registry:/tmp/registry \
+ > -p 5000:5000 wking/docker-registry
+
+[docker-registry]: https://github.com/dotcloud/docker-registry/
--- /dev/null
+# The following keyword changes are necessary to proceed:
+# (see "package.accept_keywords" in the portage(5) man page for more details)
+
+# required by dev-python/flask (argument)
+=dev-python/flask-0.10.1-r1 ~amd64
+
+# required by dev-python/flask-0.10.1-r1
+# required by dev-python/flask (argument)
+=dev-python/itsdangerous-0.23 ~amd64
+=dev-python/blinker-1.3 ~amd64
+
+# required by dev-python/backports-lzma (argument)
+=dev-python/backports-lzma-0.0.2-r1 ~amd64
+
+# required by dev-python/backports-lzma-0.0.2-r1
+# required by dev-python/backports-lzma (argument)
+=dev-python/backports-1.0 ~amd64
+
+# required by dev-python/python-glanceclient (argument)
+=dev-python/python-glanceclient-0.12.0 ~amd64
+
+# required by dev-python/python-glanceclient-0.12.0
+# required by dev-python/python-glanceclient (argument)
+=dev-python/python-keystoneclient-0.4.1 ~amd64
+=dev-python/warlock-1.0.1 ~amd64
+
+# required by dev-python/warlock-1.0.1
+# required by dev-python/python-glanceclient-0.12.0
+# required by dev-python/python-glanceclient (argument)
+=dev-python/jsonpatch-0.12 ~amd64
+=dev-python/jsonschema-2.3.0 ~amd64
+
+# required by dev-python/jsonpatch-0.12
+# required by dev-python/warlock-1.0.1
+# required by dev-python/python-glanceclient-0.12.0
+# required by dev-python/python-glanceclient (argument)
+=dev-python/jsonpointer-0.7 ~amd64
+
+# required by dev-python/python-keystoneclient-0.4.1
+# required by dev-python/python-glanceclient-0.12.0
+# required by dev-python/python-glanceclient (argument)
+=dev-python/iso8601-0.1.8 ~amd64
+=dev-python/oslo-config-1.2.1 ~amd64
+=dev-python/netaddr-0.7.10_p20130801 ~amd64
+=dev-python/pbr-0.5.23-r1 ~amd64
+=dev-python/prettytable-0.7.1-r1 ~amd64
+=dev-python/six-1.5.2 ~amd64
+
+# required by dev-python/python-swiftclient (argument)
+=dev-python/python-swiftclient-1.8.0 ~amd64
+
+# required by dev-python/python-swiftclient-1.8.0
+# required by dev-python/python-swiftclient (argument)
+=dev-python/d2to1-0.2.11 ~amd64