#!/bin/bash exec 2>&1 set -ex -o pipefail . /usr/local/lib/arvbox/common.sh cd /usr/src/sso export RAILS_ENV=development run_bundler --without=development bundle exec passenger start --runtime-check-only --runtime-dir=/var/lib/passenger 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) if ! test -s /var/lib/arvados/self-signed.key ; then openssl req -new -x509 -nodes -out /var/lib/arvados/self-signed.pem -keyout /var/lib/arvados/self-signed.key -days 365 -subj '/CN=localhost' fi 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 <