#!/bin/bash # Copyright (C) The Arvados Authors. All rights reserved. # # SPDX-License-Identifier: AGPL-3.0 exec 2>&1 set -ex -o pipefail export ARVADOS_CONTAINER_PATH=/var/lib/arvados-arvbox if [[ -s /etc/arvados/config.yml ]] && [[ $ARVADOS_CONTAINER_PATH/cluster_config.yml.override -ot /etc/arvados/config.yml ]] ; then exit fi . /usr/local/lib/arvbox/common.sh set -u if ! test -s $ARVADOS_CONTAINER_PATH/api_uuid_prefix ; then ruby -e 'puts "x#{rand(2**64).to_s(36)[0,4]}"' > $ARVADOS_CONTAINER_PATH/api_uuid_prefix fi uuid_prefix=$(cat $ARVADOS_CONTAINER_PATH/api_uuid_prefix) if ! test -s $ARVADOS_CONTAINER_PATH/api_secret_token ; then ruby -e 'puts rand(2**400).to_s(36)' > $ARVADOS_CONTAINER_PATH/api_secret_token fi secret_token=$(cat $ARVADOS_CONTAINER_PATH/api_secret_token) if ! test -s $ARVADOS_CONTAINER_PATH/blob_signing_key ; then ruby -e 'puts rand(2**400).to_s(36)' > $ARVADOS_CONTAINER_PATH/blob_signing_key fi blob_signing_key=$(cat $ARVADOS_CONTAINER_PATH/blob_signing_key) if ! test -s $ARVADOS_CONTAINER_PATH/management_token ; then ruby -e 'puts rand(2**400).to_s(36)' > $ARVADOS_CONTAINER_PATH/management_token fi management_token=$(cat $ARVADOS_CONTAINER_PATH/management_token) if ! test -s $ARVADOS_CONTAINER_PATH/system_root_token ; then ruby -e 'puts rand(2**400).to_s(36)' > $ARVADOS_CONTAINER_PATH/system_root_token fi system_root_token=$(cat $ARVADOS_CONTAINER_PATH/system_root_token) if ! test -s $ARVADOS_CONTAINER_PATH/vm-uuid ; then echo $uuid_prefix-2x53u-$(ruby -e 'puts rand(2**400).to_s(36)[0,15]') > $ARVADOS_CONTAINER_PATH/vm-uuid fi vm_uuid=$(cat $ARVADOS_CONTAINER_PATH/vm-uuid) if ! test -f $ARVADOS_CONTAINER_PATH/api_database_pw ; then ruby -e 'puts rand(2**128).to_s(36)' > $ARVADOS_CONTAINER_PATH/api_database_pw fi database_pw=$(cat $ARVADOS_CONTAINER_PATH/api_database_pw) if ! (psql postgres -c "\du" | grep "^ arvados ") >/dev/null ; then psql postgres -c "create user arvados with password '$database_pw'" fi psql postgres -c "ALTER USER arvados WITH SUPERUSER;" if ! test -s $ARVADOS_CONTAINER_PATH/workbench_secret_token ; then ruby -e 'puts rand(2**400).to_s(36)' > $ARVADOS_CONTAINER_PATH/workbench_secret_token fi workbench_secret_key_base=$(cat $ARVADOS_CONTAINER_PATH/workbench_secret_token) if test -s $ARVADOS_CONTAINER_PATH/api_rails_env ; then database_env=$(cat $ARVADOS_CONTAINER_PATH/api_rails_env) else database_env=development fi cat >$ARVADOS_CONTAINER_PATH/cluster_config.yml <$ARVADOS_CONTAINER_PATH/run_tests/config.yml <