[ARVADOS-DEV] updated: b6bd09f01642d2ad2dc33259a2382615daadf059
git at public.curoverse.com
git at public.curoverse.com
Thu Jan 7 14:03:05 EST 2016
Summary of changes:
arvbox/bin/arvbox | 144 +++++++++++++--------
.../arvbox/docker/{Dockerfile => Dockerfile.base} | 14 +-
arvbox/lib/arvbox/docker/Dockerfile.demo | 16 +++
arvbox/lib/arvbox/docker/Dockerfile.dev | 15 +++
arvbox/lib/arvbox/docker/createusers.sh | 3 +
arvbox/lib/arvbox/docker/crunch-setup.sh | 3 -
arvbox/lib/arvbox/docker/service/api/run-service | 20 ++-
arvbox/lib/arvbox/docker/service/doc/run-service | 10 +-
arvbox/lib/arvbox/docker/service/postgres/run | 21 ++-
.../lib/arvbox/docker/service/postgres/run-service | 2 +-
arvbox/lib/arvbox/docker/service/ready/run-service | 8 +-
arvbox/lib/arvbox/docker/service/runsu.sh | 4 +-
arvbox/lib/arvbox/docker/service/sso/run-service | 17 ++-
arvbox/lib/arvbox/docker/service/vm/run-service | 10 +-
arvbox/lib/arvbox/docker/service/workbench/run | 8 +-
.../arvbox/docker/service/workbench/run-service | 13 +-
16 files changed, 209 insertions(+), 99 deletions(-)
rename arvbox/lib/arvbox/docker/{Dockerfile => Dockerfile.base} (56%)
create mode 100644 arvbox/lib/arvbox/docker/Dockerfile.demo
create mode 100644 arvbox/lib/arvbox/docker/Dockerfile.dev
via b6bd09f01642d2ad2dc33259a2382615daadf059 (commit)
from dbd9987ed8c1514938216504d8ee1f13282f82c3 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit b6bd09f01642d2ad2dc33259a2382615daadf059
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date: Thu Jan 7 14:03:01 2016 -0500
8080: Refactor to base image and dev or demo images. Working on support for a
"demo" image that comes with everything packed in.
diff --git a/arvbox/bin/arvbox b/arvbox/bin/arvbox
index e90dce1..57c0905 100755
--- a/arvbox/bin/arvbox
+++ b/arvbox/bin/arvbox
@@ -38,54 +38,63 @@ GEMS=$ARVBOX_DATA/gems
mkdir -p $PG_DATA $VAR_DATA $PASSENGER $GEMS
run() {
- if ! test -d $ARVADOS_ROOT ; then
- git clone https://github.com/curoverse/arvados.git $ARVADOS_ROOT
- fi
- if ! test -d $SSO_ROOT ; then
- git clone https://github.com/curoverse/sso-devise-omniauth-provider.git $SSO_ROOT
- fi
-
- if test "$1" = testing ; then
- docker run \
- --detach \
- --name=$ARVBOX_CONTAINER \
- --privileged \
- --volume=$ARVADOS_ROOT:/usr/src/arvados:rw \
- --volume=$ARVADOS_DEV_ROOT:/usr/src/arvados-dev:rw \
- --volume=$SSO_ROOT:/usr/src/sso:rw \
- --volume=$PG_DATA:/var/lib/postgresql:rw \
- --volume=$VAR_DATA:/var/lib/arvados:rw \
- --volume=$PASSENGER:/var/lib/passenger:rw \
- --volume=$GEMS:/var/lib/gems:rw \
- --volume=/var/lib/docker \
- arvados/arvbox \
- runsvdir /etc/tests-service
+ if test "$1" = demo ; then
+ if docker ps -a --filter "status=exited" |grep -E "$ARVBOX_CONTAINER$" -q ; then
+ docker start $ARVBOX_CONTAINER
+ else
+ docker run \
+ --name=$ARVBOX_CONTAINER \
+ --privileged \
+ arvados/arvbox-demo
+ fi
else
- docker run \
- --detach \
- --name=$ARVBOX_CONTAINER \
- --privileged \
- --volume=$ARVADOS_ROOT:/usr/src/arvados:rw \
- --volume=$SSO_ROOT:/usr/src/sso:rw \
- --volume=$PG_DATA:/var/lib/postgresql:rw \
- --volume=$VAR_DATA:/var/lib/arvados:rw \
- --volume=$PASSENGER:/var/lib/passenger:rw \
- --volume=$GEMS:/var/lib/gems:rw \
- --volume=/var/lib/docker \
- arvados/arvbox
- FF=/tmp/arvbox-fifo-$$
- mkfifo $FF
- docker logs -f $ARVBOX_CONTAINER > $FF &
- LOGPID=$!
- while read line ; do
- echo $line
- if echo $line | grep "Workbench is running at" >/dev/null ; then
- kill $LOGPID
- fi
- done < $FF
- rm $FF
- echo
- echo "The Arvados source code is checked out at: $ARVADOS_ROOT"
+ if ! test -d $ARVADOS_ROOT ; then
+ git clone https://github.com/curoverse/arvados.git $ARVADOS_ROOT
+ fi
+ if ! test -d $SSO_ROOT ; then
+ git clone https://github.com/curoverse/sso-devise-omniauth-provider.git $SSO_ROOT
+ fi
+
+ if test "$1" = testing ; then
+ docker run \
+ --detach \
+ --name=$ARVBOX_CONTAINER \
+ --privileged \
+ --volume=$ARVADOS_ROOT:/usr/src/arvados:rw \
+ --volume=$ARVADOS_DEV_ROOT:/usr/src/arvados-dev:rw \
+ --volume=$SSO_ROOT:/usr/src/sso:rw \
+ --volume=$PG_DATA:/var/lib/postgresql:rw \
+ --volume=$VAR_DATA:/var/lib/arvados:rw \
+ --volume=$PASSENGER:/var/lib/passenger:rw \
+ --volume=$GEMS:/var/lib/gems:rw \
+ arvados/arvbox-dev \
+ runsvdir /etc/tests-service
+ else
+ docker run \
+ --detach \
+ --name=$ARVBOX_CONTAINER \
+ --privileged \
+ --volume=$ARVADOS_ROOT:/usr/src/arvados:rw \
+ --volume=$SSO_ROOT:/usr/src/sso:rw \
+ --volume=$PG_DATA:/var/lib/postgresql:rw \
+ --volume=$VAR_DATA:/var/lib/arvados:rw \
+ --volume=$PASSENGER:/var/lib/passenger:rw \
+ --volume=$GEMS:/var/lib/gems:rw \
+ arvados/arvbox-dev
+ FF=/tmp/arvbox-fifo-$$
+ mkfifo $FF
+ docker logs -f $ARVBOX_CONTAINER > $FF &
+ LOGPID=$!
+ while read line ; do
+ echo $line
+ if echo $line | grep "Workbench is running at" >/dev/null ; then
+ kill $LOGPID
+ fi
+ done < $FF
+ rm $FF
+ echo
+ echo "The Arvados source code is checked out at: $ARVADOS_ROOT"
+ fi
fi
}
@@ -93,18 +102,29 @@ stop() {
if docker ps -a --filter "status=running" |grep -E "$ARVBOX_CONTAINER$" -q ; then
docker stop $ARVBOX_CONTAINER
fi
- if docker ps -a --filter "status=exited" |grep -E "$ARVBOX_CONTAINER$" -q ; then
- docker rm --volumes=true $ARVBOX_CONTAINER
+ if test "$1" != demo ; then
+ if docker ps -a --filter "status=exited" |grep -E "$ARVBOX_CONTAINER$" -q ; then
+ docker rm --volumes=true $ARVBOX_CONTAINER
+ fi
+ fi
+}
+
+build() {
+ docker build -t arvados/arvbox-base -f $ARVBOX_DOCKER/Dockerfile.base $ARVBOX_DOCKER
+ if test "$1" = demo ; then
+ docker build -t arvados/arvbox-demo -f $ARVBOX_DOCKER/Dockerfile.demo $ARVBOX_DOCKER
+ else
+ docker build -t arvados/arvbox-dev -f $ARVBOX_DOCKER/Dockerfile.dev $ARVBOX_DOCKER
fi
}
case $1 in
build)
- docker build -t arvados/arvbox $ARVBOX_DOCKER
+ build $2
;;
start|run)
- run
+ run $2
;;
sh*)
@@ -112,7 +132,7 @@ case $1 in
;;
stop)
- stop
+ stop $2
;;
restart)
@@ -122,7 +142,7 @@ case $1 in
reboot)
stop
- docker build -t arvados/arvbox $ARVBOX_DOCKER
+ build
run
;;
@@ -180,6 +200,24 @@ case $1 in
run testing
shift
+
+ while ! docker exec -ti \
+ $ARVBOX_CONTAINER \
+ /etc/tests-service/runsu.sh \
+ psql -c'\du' ; do
+ sleep 1
+ done
+
+ docker exec -ti \
+ $ARVBOX_CONTAINER \
+ /etc/tests-service/runsu.sh \
+ /etc/service/sso/run-service --only-setup
+
+ docker exec -ti \
+ $ARVBOX_CONTAINER \
+ /etc/tests-service/runsu.sh \
+ /etc/service/api/run-service --only-setup
+
docker exec -ti \
$ARVBOX_CONTAINER \
/etc/tests-service/runsu.sh \
diff --git a/arvbox/lib/arvbox/docker/Dockerfile b/arvbox/lib/arvbox/docker/Dockerfile.base
similarity index 56%
rename from arvbox/lib/arvbox/docker/Dockerfile
rename to arvbox/lib/arvbox/docker/Dockerfile.base
index 22ad5d2..9308d9c 100644
--- a/arvbox/lib/arvbox/docker/Dockerfile
+++ b/arvbox/lib/arvbox/docker/Dockerfile.base
@@ -9,16 +9,10 @@ RUN apt-get update && \
libpython-dev fuse libfuse-dev python-pip \
pkg-config libattr1-dev python-llfuse python-pycurl \
libwww-perl libio-socket-ssl-perl libcrypt-ssleay-perl \
- libjson-perl python-virtualenv python3-virtualenv nginx \
- gitolite3 lsof python-epydoc linkchecker xvfb iceweasel graphviz
+ libjson-perl nginx gitolite3 lsof python-epydoc graphviz
RUN curl -sSL https://get.docker.com/ | sh
-
-RUN set -e && \
- PJS=phantomjs-1.9.7-linux-x86_64 && \
- curl -L -o/tmp/$PJS.tar.bz2 https://bitbucket.org/ariya/phantomjs/downloads/$PJS.tar.bz2 && \
- tar -C /usr/local -xjf /tmp/$PJS.tar.bz2 && \
- ln -s ../$PJS/bin/phantomjs /usr/local/bin/
+VOLUME /var/lib/docker
ADD runit-docker /root/runit-docker
@@ -30,9 +24,5 @@ ENV LD_PRELOAD /lib/runit-docker.so
ADD fuse.conf /etc/
-ADD crunch-setup.sh gitolite-setup.sh gitolite.rc gitssh-setup.sh keep-setup.sh common.sh createusers.sh /usr/local/lib/arvbox/
-ADD service /etc/service
-ADD tests-service /etc/tests-service
-
# Start the supervisor.
CMD ["runsvdir", "/etc/service"]
diff --git a/arvbox/lib/arvbox/docker/Dockerfile.demo b/arvbox/lib/arvbox/docker/Dockerfile.demo
new file mode 100644
index 0000000..2ab772e
--- /dev/null
+++ b/arvbox/lib/arvbox/docker/Dockerfile.demo
@@ -0,0 +1,16 @@
+FROM arvados/arvbox-base
+
+RUN cd /usr/src && \
+ git clone https://github.com/curoverse/arvados.git && \
+ git clone https://github.com/curoverse/sso-devise-omniauth-provider.git sso
+
+ADD crunch-setup.sh gitolite-setup.sh gitolite.rc gitssh-setup.sh keep-setup.sh common.sh createusers.sh /usr/local/lib/arvbox/
+ADD service /etc/service
+
+RUN mkdir -p /var/lib/arvados
+RUN /etc/service/sso/run-service --only-deps
+RUN /etc/service/api/run-service --only-deps
+RUN /etc/service/workbench/run-service --only-deps
+RUN /etc/service/doc/run-service --only-deps
+RUN /etc/service/vm/run-service --only-deps
+RUN /etc/service/sdk/run-service
diff --git a/arvbox/lib/arvbox/docker/Dockerfile.dev b/arvbox/lib/arvbox/docker/Dockerfile.dev
new file mode 100644
index 0000000..cb2873b
--- /dev/null
+++ b/arvbox/lib/arvbox/docker/Dockerfile.dev
@@ -0,0 +1,15 @@
+FROM arvados/arvbox-base
+
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get -yq install \
+ python-virtualenv python3-virtualenv linkchecker xvfb iceweasel
+
+RUN set -e && \
+ PJS=phantomjs-1.9.7-linux-x86_64 && \
+ curl -L -o/tmp/$PJS.tar.bz2 https://bitbucket.org/ariya/phantomjs/downloads/$PJS.tar.bz2 && \
+ tar -C /usr/local -xjf /tmp/$PJS.tar.bz2 && \
+ ln -s ../$PJS/bin/phantomjs /usr/local/bin/
+
+ADD crunch-setup.sh gitolite-setup.sh gitolite.rc gitssh-setup.sh keep-setup.sh common.sh createusers.sh /usr/local/lib/arvbox/
+ADD service /etc/service
+ADD tests-service /etc/tests-service
diff --git a/arvbox/lib/arvbox/docker/createusers.sh b/arvbox/lib/arvbox/docker/createusers.sh
index 25b1dd7..8d27990 100755
--- a/arvbox/lib/arvbox/docker/createusers.sh
+++ b/arvbox/lib/arvbox/docker/createusers.sh
@@ -33,4 +33,7 @@ if ! grep "^arvbox:" /etc/passwd >/dev/null 2>/dev/null ; then
rm -r /var/log/nginx
mkdir -p /var/log/nginx
chown arvbox:arvbox -R /var/log/nginx
+
+ mkdir -p /tmp/crunch0 /tmp/crunch1
+ chown crunch:crunch -R /tmp/crunch0 /tmp/crunch1
fi
diff --git a/arvbox/lib/arvbox/docker/crunch-setup.sh b/arvbox/lib/arvbox/docker/crunch-setup.sh
index c52b034..b6f5cda 100755
--- a/arvbox/lib/arvbox/docker/crunch-setup.sh
+++ b/arvbox/lib/arvbox/docker/crunch-setup.sh
@@ -14,9 +14,6 @@ ln -sfn "/usr/src/arvados" "$GOPATH/src/git.curoverse.com/arvados.git"
go get -t "git.curoverse.com/arvados.git/services/crunchstat"
install bin/crunchstat /usr/local/bin
-mkdir -p /tmp/$1
-chown crunch:crunch -R /tmp/$1
-
export ARVADOS_API_HOST=$localip:3001
export ARVADOS_API_HOST_INSECURE=1
export ARVADOS_API_TOKEN=$(cat /usr/src/arvados/services/api/superuser_token)
diff --git a/arvbox/lib/arvbox/docker/service/api/run-service b/arvbox/lib/arvbox/docker/service/api/run-service
index b4ab386..6615736 100755
--- a/arvbox/lib/arvbox/docker/service/api/run-service
+++ b/arvbox/lib/arvbox/docker/service/api/run-service
@@ -1,7 +1,7 @@
#!/bin/sh
exec 2>&1
-set -eux
+set -ex
. /usr/local/lib/arvbox/common.sh
@@ -9,6 +9,13 @@ cd /usr/src/arvados/services/api
export RAILS_ENV=development
run_bundler --without=development
+bundle exec passenger start --runtime-check-only --runtime-dir=/var/lib/passenger
+
+if test "$1" = "--only-deps" ; then
+ exit
+fi
+
+set -u
if ! test -s /var/lib/arvados/api_uuid_prefix ; then
ruby -e 'puts "#{rand(2**64).to_s(36)[0,5]}"' > /var/lib/arvados/api_uuid_prefix
@@ -92,7 +99,12 @@ rm -rf tmp
bundle exec rake db:migrate
+set +u
+if test "$1" = "--only-setup" ; then
+ exit
+fi
+
ARVADOS_WEBSOCKETS=1 exec bundle exec passenger start --port=3001 \
- --runtime-dir=/var/lib/passenger \
- --ssl --ssl-certificate=/var/lib/arvados/self-signed.pem \
- --ssl-certificate-key=/var/lib/arvados/self-signed.key
+ --runtime-dir=/var/lib/passenger \
+ --ssl --ssl-certificate=/var/lib/arvados/self-signed.pem \
+ --ssl-certificate-key=/var/lib/arvados/self-signed.key
diff --git a/arvbox/lib/arvbox/docker/service/doc/run-service b/arvbox/lib/arvbox/docker/service/doc/run-service
index bb0f0e4..a64d5c8 100755
--- a/arvbox/lib/arvbox/docker/service/doc/run-service
+++ b/arvbox/lib/arvbox/docker/service/doc/run-service
@@ -1,11 +1,19 @@
#!/bin/sh
exec 2>&1
-set -eux
+set -ex
. /usr/local/lib/arvbox/common.sh
cd /usr/src/arvados/doc
run_bundler --without=development
+
+if test "$1" = "--only-deps" ; then
+ exit
+fi
+
+set -u
+
bundle exec rake generate baseurl=http://$localip:8000 arvados_api_host=$localip:3001 arvados_workbench_host=http://$localip
+
exec bundle exec rake run
diff --git a/arvbox/lib/arvbox/docker/service/postgres/run b/arvbox/lib/arvbox/docker/service/postgres/run
index cf8250c..55d11a0 100755
--- a/arvbox/lib/arvbox/docker/service/postgres/run
+++ b/arvbox/lib/arvbox/docker/service/postgres/run
@@ -1,11 +1,18 @@
#!/bin/sh
-HOSTUID=$(ls -nd /usr/src/arvados | sed 's/ */ /' | cut -d' ' -f4)
-HOSTGID=$(ls -nd /usr/src/arvados | sed 's/ */ /' | cut -d' ' -f5)
+flock /var/lib/arvados/createusers.lock /usr/local/lib/arvbox/createusers.sh
-chown -R $HOSTUID:$HOSTGID /var/lib/postgresql
-chown -R $HOSTUID:$HOSTGID /var/run/postgresql
-chown -R $HOSTUID:$HOSTGID /etc/postgresql
-chown -R $HOSTUID:$HOSTGID /etc/ssl/private
+if test $(id arvbox -u) = 0 ; then
+ USER=postgres
+ GROUP=postgres
+else
+ USER=arvbox
+ GROUP=arvbox
+fi
-exec chpst -u:$HOSTUID:$HOSTGID $0-service
+chown -R $USER:$GROUP /var/lib/postgresql
+chown -R $USER:$GROUP /var/run/postgresql
+chown -R $USER:$GROUP /etc/postgresql
+chown -R $USER:$GROUP /etc/ssl/private
+
+exec su $USER $0-service
diff --git a/arvbox/lib/arvbox/docker/service/postgres/run-service b/arvbox/lib/arvbox/docker/service/postgres/run-service
index 6f72ba6..0a67d6c 100755
--- a/arvbox/lib/arvbox/docker/service/postgres/run-service
+++ b/arvbox/lib/arvbox/docker/service/postgres/run-service
@@ -5,7 +5,7 @@ set -eux
if ! test -d /var/lib/postgresql/9.4/main ; then
/usr/lib/postgresql/9.4/bin/initdb -D /var/lib/postgresql/9.4/main
- sh -c "while ! createdb ; do sleep 1 ; done" &
+ sh -c "while ! psql -c'\du' >/dev/null 2>/dev/null ; do createdb ; sleep 1 ; done" &
fi
mkdir -p /var/run/postgresql/9.4-main.pg_stat_tmp
diff --git a/arvbox/lib/arvbox/docker/service/ready/run-service b/arvbox/lib/arvbox/docker/service/ready/run-service
index e99570b..a26d47c 100755
--- a/arvbox/lib/arvbox/docker/service/ready/run-service
+++ b/arvbox/lib/arvbox/docker/service/ready/run-service
@@ -8,13 +8,13 @@ if ! [[ -d /tmp/arvbox-ready ]] ; then
echo
echo "Arvados-in-a-box starting"
echo
- echo "Note: if this is a fresh arvbox installation, it may take 10-15 minutes to download and"
+ echo "Note: if this is a fresh arvbox installation, it may take 10-15 minutes (or longer) to download and"
echo "install dependencies. Use \"arvbox log\" to monitor the progress of specific services."
echo
mkdir -p /tmp/arvbox-ready
fi
-sleep 2
+sleep 3
declare -A services
services=(
@@ -56,6 +56,10 @@ elif ! which arv-get >/dev/null ; then
waiting="$waiting sdk"
fi
+if ! (ps x | grep -v grep | grep "crunch-dispatch") > /dev/null ; then
+ waiting="$waiting crunch-dispatch"
+fi
+
if ! [[ -z "$waiting" ]] ; then
if ps x | grep -v grep | grep "bundle install" > /dev/null; then
gemcount=$(ls /var/lib/gems/ruby/2.1.0/gems 2>/dev/null | wc -l)
diff --git a/arvbox/lib/arvbox/docker/service/runsu.sh b/arvbox/lib/arvbox/docker/service/runsu.sh
index 329067f..32eccdf 100755
--- a/arvbox/lib/arvbox/docker/service/runsu.sh
+++ b/arvbox/lib/arvbox/docker/service/runsu.sh
@@ -8,7 +8,7 @@ flock /var/lib/arvados/createusers.lock /usr/local/lib/arvbox/createusers.sh
export HOME=/var/lib/arvados
if test -z "$1" ; then
- exec su arvbox -c -- "exec $0-service"
+ exec sudo -u arvbox -- $0-service
else
- exec su arvbox --shell /bin/bash -- $@
+ exec sudo -u arvbox -- $@
fi
diff --git a/arvbox/lib/arvbox/docker/service/sso/run-service b/arvbox/lib/arvbox/docker/service/sso/run-service
index 26defa7..29951f5 100755
--- a/arvbox/lib/arvbox/docker/service/sso/run-service
+++ b/arvbox/lib/arvbox/docker/service/sso/run-service
@@ -1,15 +1,21 @@
#!/bin/sh
exec 2>&1
-set -eux
+set -ex
. /usr/local/lib/arvbox/common.sh
cd /usr/src/sso
export RAILS_ENV=development
-export GEM_HOME=/var/lib/gems
run_bundler --without=development
+bundle exec passenger start --runtime-check-only --runtime-dir=/var/lib/passenger
+
+if test "$1" = "--only-deps" ; then
+ exit
+fi
+
+set -u
if ! test -s /var/lib/arvados/sso_uuid_prefix ; then
ruby -e 'puts "#{rand(2**64).to_s(36)[0,5]}"' > /var/lib/arvados/sso_uuid_prefix
@@ -84,7 +90,12 @@ fi
rm -rf tmp
bundle exec rake db:migrate
-export HOME=/var/lib/passenger
+
+set +u
+if test "$1" = "--only-setup" ; then
+ exit
+fi
+
exec bundle exec passenger start --port=3002 \
--runtime-dir=/var/lib/passenger \
--ssl --ssl-certificate=/var/lib/arvados/self-signed.pem \
diff --git a/arvbox/lib/arvbox/docker/service/vm/run-service b/arvbox/lib/arvbox/docker/service/vm/run-service
index f6844d8..9b894ff 100755
--- a/arvbox/lib/arvbox/docker/service/vm/run-service
+++ b/arvbox/lib/arvbox/docker/service/vm/run-service
@@ -6,6 +6,13 @@ set -eux
. /usr/local/lib/arvbox/common.sh
+cd /usr/src/arvados/services/login-sync
+run_bundler
+
+if test "$1" = "--only-deps" ; then
+ exit
+fi
+
git config --system "credential.http://$localip:9001/.username" none
git config --system "credential.http://$localip:9001/.helper" '!cred(){ cat >/dev/null; if [ "$1" = get ]; then echo password=$ARVADOS_API_TOKEN; fi; };cred'
@@ -37,9 +44,6 @@ fi
export ARVADOS_VIRTUAL_MACHINE_UUID
-cd /usr/src/arvados/services/login-sync
-run_bundler
-
while true ; do
bundle exec arvados-login-sync
sleep 120
diff --git a/arvbox/lib/arvbox/docker/service/workbench/run b/arvbox/lib/arvbox/docker/service/workbench/run
index 665d848..f121ce7 100755
--- a/arvbox/lib/arvbox/docker/service/workbench/run
+++ b/arvbox/lib/arvbox/docker/service/workbench/run
@@ -1,7 +1,7 @@
#!/bin/sh
set -e
-/etc/service/runsu.sh $0-service
+/etc/service/runsu.sh $0-service $1
cd /usr/src/arvados/apps/workbench
@@ -9,5 +9,7 @@ rm -rf tmp
mkdir tmp
chown arvbox:arvbox tmp
-exec bundle exec passenger start --port 80 \
- --user arvbox --runtime-dir=/var/lib/passenger
+if test "$1" != "--only-deps" ; then
+ exec bundle exec passenger start --port 80 \
+ --user arvbox --runtime-dir=/var/lib/passenger
+fi
diff --git a/arvbox/lib/arvbox/docker/service/workbench/run-service b/arvbox/lib/arvbox/docker/service/workbench/run-service
index 359f1e9..dadd989 100755
--- a/arvbox/lib/arvbox/docker/service/workbench/run-service
+++ b/arvbox/lib/arvbox/docker/service/workbench/run-service
@@ -1,7 +1,7 @@
#!/bin/sh
exec 2>&1
-set -eux
+set -ex
. /usr/local/lib/arvbox/common.sh
@@ -10,6 +10,13 @@ export RAILS_ENV=development
export GEM_HOME=/var/lib/gems
run_bundler --without=development
+bundle exec passenger start --runtime-check-only --runtime-dir=/var/lib/passenger
+
+if test "$1" = "--only-deps" ; then
+ exit
+fi
+
+set -u
if ! test -s /var/lib/arvados/workbench_secret_token ; then
ruby -e 'puts rand(2**400).to_s(36)' > /var/lib/arvados/workbench_secret_token
@@ -30,7 +37,3 @@ common:
keep_web_url: http://$localip:25099/c=%{uuid_or_pdh}
arvados_docsite: http://$localip:8000/
EOF
-
-#bundle exec passenger start -p443 --ssl --ssl-certificate=self-signed.pem --ssl-certificate-key=self-signed.key
-
-bundle exec passenger start --runtime-check-only --runtime-dir=/var/lib/passenger
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list