X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/9e5b98e8f5f4727856b53447191f9c06e3da2ba6..0eb72b526bf8bbb011551ecf019f604e17a534f1:/tools/arvbox/lib/arvbox/docker/service/api/run-service diff --git a/tools/arvbox/lib/arvbox/docker/service/api/run-service b/tools/arvbox/lib/arvbox/docker/service/api/run-service index 058939c477..8cacb6a031 100755 --- a/tools/arvbox/lib/arvbox/docker/service/api/run-service +++ b/tools/arvbox/lib/arvbox/docker/service/api/run-service @@ -1,4 +1,7 @@ #!/bin/bash +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 exec 2>&1 set -ex -o pipefail @@ -9,94 +12,20 @@ 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 +bundle exec passenger-config build-native-support +bundle exec passenger-config install-standalone-runtime 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 -fi -uuid_prefix=$(cat /var/lib/arvados/api_uuid_prefix) - -if ! test -s /var/lib/arvados/api_secret_token ; then - ruby -e 'puts rand(2**400).to_s(36)' > /var/lib/arvados/api_secret_token -fi -secret_token=$(cat /var/lib/arvados/api_secret_token) - -if ! test -s /var/lib/arvados/blob_signing_key ; then - ruby -e 'puts rand(2**400).to_s(36)' > /var/lib/arvados/blob_signing_key -fi -blob_signing_key=$(cat /var/lib/arvados/blob_signing_key) - -# self signed key will be created by SSO server script. -test -s /var/lib/arvados/self-signed.key - -sso_app_secret=$(cat /var/lib/arvados/sso_app_secret) - -if test -s /var/lib/arvados/vm-uuid ; then - vm_uuid=$(cat /var/lib/arvados/vm-uuid) -else - vm_uuid=$uuid_prefix-2x53u-$(ruby -e 'puts rand(2**400).to_s(36)[0,15]') - echo $vm_uuid > /var/lib/arvados/vm-uuid -fi - -cat >config/application.yml < /var/lib/arvados/api_database_pw -fi -database_pw=$(cat /var/lib/arvados/api_database_pw) - -if ! (psql postgres -c "\du" | grep "^ arvados ") >/dev/null ; then - psql postgres -c "create user arvados with password '$database_pw'" - psql postgres -c "ALTER USER arvados CREATEDB;" -fi - -sed "s/password:.*/password: $database_pw/" config/database.yml - -if ! test -f /var/lib/arvados/api_database_setup ; then - bundle exec rake db:setup - touch /var/lib/arvados/api_database_setup -fi - -if ! test -s /var/lib/arvados/superuser_token ; then - bundle exec ./script/create_superuser_token.rb > /var/lib/arvados/superuser_token -fi - -rm -rf tmp - -bundle exec rake db:migrate +flock /var/lib/arvados/api.lock /usr/local/lib/arvbox/api-setup.sh set +u if test "$1" = "--only-setup" ; then exit fi -ARVADOS_WEBSOCKETS=1 exec bundle exec passenger start --port=${services[api]} \ - --runtime-dir=/var/lib/passenger \ +exec bundle exec passenger start --port=${services[api]} \ --ssl --ssl-certificate=/var/lib/arvados/self-signed.pem \ --ssl-certificate-key=/var/lib/arvados/self-signed.key