#!/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 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 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) 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) 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 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