Merge branch 'master' into 12018-sync-groups-tool
[arvados.git] / tools / arvbox / lib / arvbox / docker / service / websockets / run-service
index d0c0b5dbd7c482a5be4f90e829dd49a906ab3361..cb56ac7f4de5dbb7f3ad6d22c6b8166933a32f81 100755 (executable)
@@ -1,30 +1,44 @@
 #!/bin/bash
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
 
 exec 2>&1
 set -ex -o pipefail
 
 . /usr/local/lib/arvbox/common.sh
 
-cd /usr/src/arvados/services/api
-export RAILS_ENV=development
-
-run_bundler --without=development
-
-if test "$1" = "--only-deps" ; then
-    exit
+if test -s /var/lib/arvados/api_rails_env ; then
+  RAILS_ENV=$(cat /var/lib/arvados/api_rails_env)
+else
+  RAILS_ENV=development
 fi
 
-flock /var/lib/arvados/api.lock /usr/local/lib/arvbox/api-setup.sh
+mkdir -p /var/lib/gopath
+cd /var/lib/gopath
 
-set +u
-if test "$1" = "--only-setup" ; then
+export GOPATH=$PWD
+mkdir -p "$GOPATH/src/git.curoverse.com"
+ln -sfn "/usr/src/arvados" "$GOPATH/src/git.curoverse.com/arvados.git"
+flock /var/lib/gopath/gopath.lock go get -t "git.curoverse.com/arvados.git/services/ws"
+install bin/ws /usr/local/bin/arvados-ws
+
+if test "$1" = "--only-deps" ; then
     exit
 fi
 
-export ARVADOS_WEBSOCKETS=ws-only
-
-# serving ssl directly doesn't work, gets
-# Rack app error: #<TypeError: no implicit conversion of Puma::MiniSSL::Socket into Integer>
-#exec bundle exec puma -b "ssl://0.0.0.0:${services[websockets]}?cert=/var/lib/arvados/self-signed.pem&key=/var/lib/arvados/self-signed.key"
-
-exec bundle exec puma -p${services[websockets]}
+database_pw=$(cat /var/lib/arvados/api_database_pw)
+
+cat >/var/lib/arvados/arvados-ws.yml <<EOF
+Client:
+  APIHost: $localip:${services[api]}
+  Insecure: true
+Postgres:
+  dbname: arvados_$RAILS_ENV
+  user: arvados
+  password: $database_pw
+  host: localhost
+Listen: :8002
+EOF
+
+exec /usr/local/bin/arvados-ws -config /var/lib/arvados/arvados-ws.yml