#!/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
+
+if test -s /var/lib/arvados/api_rails_env ; then
+ export RAILS_ENV=$(cat /var/lib/arvados/api_rails_env)
+else
+ export RAILS_ENV=development
+fi
set -u
fi
blob_signing_key=$(cat /var/lib/arvados/blob_signing_key)
+if ! test -s /var/lib/arvados/management_token ; then
+ ruby -e 'puts rand(2**400).to_s(36)' > /var/lib/arvados/management_token
+fi
+management_token=$(cat /var/lib/arvados/management_token)
+
# self signed key will be created by SSO server script.
test -s /var/lib/arvados/self-signed.key
fi
cat >config/application.yml <<EOF
-development:
+$RAILS_ENV:
uuid_prefix: $uuid_prefix
secret_token: $secret_token
blob_signing_key: $blob_signing_key
auto_setup_new_users_with_vm_uuid: $vm_uuid
auto_setup_new_users_with_repository: true
default_collection_replication: 1
+ docker_image_formats: ["v2"]
+ keep_web_service_url: http://$localip:${services[keep-web]}/
+ ManagementToken: $management_token
EOF
-(cd config && /usr/local/lib/arvbox/application_yml_override.py)
+(cd config && /usr/local/lib/arvbox/yml_override.py application.yml)
if ! test -f /var/lib/arvados/api_database_pw ; then
ruby -e 'puts rand(2**128).to_s(36)' > /var/lib/arvados/api_database_pw
fi
if ! test -s /var/lib/arvados/superuser_token ; then
- bundle exec ./script/create_superuser_token.rb > /var/lib/arvados/superuser_token
+ superuser_tok=$(bundle exec ./script/create_superuser_token.rb)
+ echo "$superuser_tok" > /var/lib/arvados/superuser_token
fi
rm -rf tmp
+mkdir -p tmp/cache
bundle exec rake db:migrate