]> git.pld-linux.org Git - packages/docker-registry.git/commitdiff
new package, version 0.9.1
authorElan Ruusamäe <glen@delfi.ee>
Tue, 26 Apr 2016 21:03:52 +0000 (00:03 +0300)
committerElan Ruusamäe <glen@delfi.ee>
Tue, 26 Apr 2016 21:04:34 +0000 (00:04 +0300)
based on fedora package, e43fe6a

this is actually deprecated old version

docker-registry.service [new file with mode: 0644]
docker-registry.spec [new file with mode: 0644]
docker-registry.sysconfig [new file with mode: 0644]
docker-registry.sysvinit [new file with mode: 0755]

diff --git a/docker-registry.service b/docker-registry.service
new file mode 100644 (file)
index 0000000..394bc0f
--- /dev/null
@@ -0,0 +1,13 @@
+[Unit]
+Description=Registry server for Docker
+
+[Service]
+Type=simple
+Environment=DOCKER_REGISTRY_CONFIG=/etc/docker-registry.yml
+EnvironmentFile=-/etc/sysconfig/docker-registry
+WorkingDirectory=#WORKDIR#
+ExecStart=/usr/bin/gunicorn --access-logfile - --debug --max-requests 100 --graceful-timeout 3600 -t 3600 -k gevent -b ${REGISTRY_ADDRESS}:${REGISTRY_PORT} -w $GUNICORN_WORKERS docker_registry.wsgi:application
+Restart=on-failure
+
+[Install]
+WantedBy=multi-user.target
diff --git a/docker-registry.spec b/docker-registry.spec
new file mode 100644 (file)
index 0000000..8c8389b
--- /dev/null
@@ -0,0 +1,101 @@
+Summary:       Registry server for Docker
+Name:          docker-registry
+Version:       0.9.1
+Release:       0.1
+License:       Apache v2.0
+Group:         Networking/Daemons
+Source0:       https://github.com/docker/docker-registry/archive/%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: ec1e5dc5ae9bbea8cecd4d763c84bf74
+URL:           https://github.com/docker/docker-registry
+Source1:       %{name}.service
+Source2:       %{name}.sysconfig
+Source3:       %{name}.sysvinit
+BuildRequires: python-devel
+BuildRequires: rpm-pythonprov
+BuildRequires: rpmbuild(macros) >= 1.714
+BuildRequires: systemd
+Requires(post):        systemd
+Requires(preun):       systemd
+Requires(postun):      systemd
+Requires(post):        /sbin/chkconfig
+Requires(preun):       /sbin/chkconfig
+Requires(postun):      rc-scripts
+Requires:      python-M2Crypto
+Requires:      python-PyYAML >= 3.11
+Requires:      python-SQLAlchemy >= 0.9.4
+Requires:      python-backports-lzma
+Requires:      python-blinker >= 1.3
+Requires:      python-docker-registry-core >= 2.0.2-1
+Requires:      python-flask >= 0.10.1
+Requires:      python-gevent >= 1.0.1
+Requires:      python-gunicorn >= 19.1.1
+Requires:      python-importlib
+Requires:      python-requests >= 2.3.0
+BuildArch:     noarch
+BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+Registry server for Docker (hosting/delivering of repositories and
+images).
+
+%prep
+%setup -q
+
+# Remove the golang implementation
+# It's not the main one (yet?)
+rm -r contrib/golang_impl
+find -name "*.py" -print | xargs sed -i '/flask_cors/d'
+
+%build
+%py_build
+
+%install
+rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig} \
+       $RPM_BUILD_ROOT%{py_sitescriptdir}/%{name} \
+       $RPM_BUILD_ROOT%{systemdunitdir} \
+       $RPM_BUILD_ROOT%{_sharedstatedir}/%{name} \
+
+cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
+cp -p %{SOURCE1} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}.service
+install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
+
+# Make sure we set proper WorkingDir in the systemd service file
+sed -i "s|#WORKDIR#|%{py_sitescriptdir}/%{name}|" $RPM_BUILD_ROOT%{systemdunitdir}/%{name}.service
+# Make sure we set proper working dir in the sysvinit file
+sed -i "s|#WORKDIR#|%{py_sitescriptdir}/%{name}|" $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
+
+cp -a docker_registry tests $RPM_BUILD_ROOT%{py_sitescriptdir}/%{name}
+cp config/config_sample.yml $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.yml
+sed -i 's/\/tmp\/registry/\/var\/lib\/docker-registry/g' $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.yml
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post
+/sbin/chkconfig --add %{name}
+%systemd_post %{name}.service
+
+%preun
+if [ $1 -eq 0 ] ; then
+       %service %{name} stop
+       /sbin/chkconfig --del %{name}
+fi
+%systemd_preun %{name}.service
+
+%postun
+if [ "$1" -ge "1" ] ; then
+       %service %{name} condrestart
+fi
+%systemd_reload
+
+%files
+%defattr(644,root,root,755)
+%doc AUTHORS CHANGELOG.md LICENSE README.md
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.yml
+%attr(754,root,root) /etc/rc.d/init.d/%{name}
+%dir %{py_sitescriptdir}/%{name}
+%{py_sitescriptdir}/%{name}/*
+%dir %{_sharedstatedir}/%{name}
+%{systemdunitdir}/%{name}.service
diff --git a/docker-registry.sysconfig b/docker-registry.sysconfig
new file mode 100644 (file)
index 0000000..33eb95c
--- /dev/null
@@ -0,0 +1,14 @@
+# The Docker registry configuration file
+DOCKER_REGISTRY_CONFIG=/etc/docker-registry.yml
+
+# The configuration to use from DOCKER_REGISTRY_CONFIG file
+SETTINGS_FLAVOR=local
+
+# Address to bind the registry to
+REGISTRY_ADDRESS=0.0.0.0
+
+# Port to bind the registry to
+REGISTRY_PORT=5000
+
+# Number of workers to handle the connections
+GUNICORN_WORKERS=4
diff --git a/docker-registry.sysvinit b/docker-registry.sysvinit
new file mode 100755 (executable)
index 0000000..57b25ac
--- /dev/null
@@ -0,0 +1,117 @@
+#!/bin/sh
+#
+#       /etc/rc.d/init.d/docker-registry
+#
+#       Registry server for Docker
+#       
+# chkconfig:   2345 93 93
+# description: Registry server for Docker
+
+### BEGIN INIT INFO
+# Provides:       docker-registry
+# Required-Start: $network
+# Required-Stop:
+# Should-Start:
+# Should-Stop:
+# Default-Start: 2 3 4 5
+# Default-Stop:  0 1 6
+# Short-Description: start and stop Docker registry
+# Description: Registry server for Docker
+### END INIT INFO
+
+# Source function library.
+. /etc/rc.d/init.d/functions
+
+exec="/usr/bin/python"
+prog="docker-registry"
+pidfile="/var/run/$prog.pid"
+lockfile="/var/lock/subsys/$prog"
+logfile="/var/log/$prog"
+
+[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
+
+export DOCKER_REGISTRY_CONFIG=${DOCKER_REGISTRY_CONFIG:-"/etc/docker-registry.yml"}
+export SETTINGS_FLAVOR=${SETTINGS_FLAVOR:-"dev"}
+
+start() {
+    [ -x $exec ] || exit 5
+
+    if ! [ -f $pidfile ]; then
+        cd #WORKDIR#
+        printf "Starting $prog:\t"
+        $exec /usr/bin/gunicorn --access-logfile - --debug --max-requests 100 --graceful-timeout 3600 -t 3600 -k gevent -b ${REGISTRY_ADDRESS}:${REGISTRY_PORT} -w $GUNICORN_WORKERS docker_registry.wsgi:application &>> $logfile &
+        pid=$!
+        echo $pid > $pidfile
+        touch $lockfile
+        success
+        echo
+    else
+        failure
+        echo
+        printf "$pidfile still exists...\n"
+        exit 7
+    fi
+}
+
+stop() {
+    echo -n $"Stopping $prog: "
+    killproc -p $pidfile $prog
+    retval=$?
+    echo
+    [ $retval -eq 0 ] && rm -f $lockfile
+    return $retval
+}
+
+restart() {
+    stop
+    start
+}
+
+reload() {
+    restart
+}
+
+force_reload() {
+    restart
+}
+
+rh_status() {
+    status -p $pidfile $prog
+}
+
+rh_status_q() {
+    rh_status >/dev/null 2>&1
+}
+
+case "$1" in
+    start)
+        rh_status_q && exit 0
+        $1
+        ;;
+    stop)
+        rh_status_q || exit 0
+        $1
+        ;;
+    restart)
+        $1
+        ;;
+    reload)
+        rh_status_q || exit 7
+        $1
+        ;;
+    force-reload)
+        force_reload
+        ;;
+    status)
+        rh_status
+        ;;
+    condrestart|try-restart)
+        rh_status_q || exit 0
+        restart
+        ;;
+    *)
+        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
+        exit 2
+esac
+
+exit $?
This page took 0.156185 seconds and 4 git commands to generate.