#!/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/sso if test -s /var/lib/arvados/sso_rails_env ; then export RAILS_ENV=$(cat /var/lib/arvados/sso_rails_env) else export RAILS_ENV=development fi run_bundler --without=development 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/sso_uuid_prefix ; then ruby -e 'puts "#{rand(2**64).to_s(36)[0,5]}"' > /var/lib/arvados/sso_uuid_prefix fi uuid_prefix=$(cat /var/lib/arvados/sso_uuid_prefix) if ! test -s /var/lib/arvados/sso_secret_token ; then ruby -e 'puts rand(2**400).to_s(36)' > /var/lib/arvados/sso_secret_token fi secret_token=$(cat /var/lib/arvados/sso_secret_token) test -s /var/lib/arvados/server-cert-${localip}.pem cat >config/application.yml < /var/lib/arvados/sso_database_pw fi database_pw=$(cat /var/lib/arvados/sso_database_pw) if ! (psql postgres -c "\du" | grep "^ arvados_sso ") >/dev/null ; then psql postgres -c "create user arvados_sso with password '$database_pw'" psql postgres -c "ALTER USER arvados_sso CREATEDB;" fi sed "s/password:.*/password: $database_pw/" config/database.yml if ! test -f /var/lib/arvados/sso_database_setup ; then bundle exec rake db:setup if ! test -s /var/lib/arvados/sso_app_secret ; then ruby -e 'puts rand(2**400).to_s(36)' > /var/lib/arvados/sso_app_secret fi app_secret=$(cat /var/lib/arvados/sso_app_secret) bundle exec rails console <