X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/7653054635e3f4f84da3f2b6862cd2c02fbe3fd4..2fc9d1ac9dbb3557541c449820f4bba4cd4b7313:/tools/arvbox/lib/arvbox/docker/cluster-config.sh diff --git a/tools/arvbox/lib/arvbox/docker/cluster-config.sh b/tools/arvbox/lib/arvbox/docker/cluster-config.sh index 1ec2796057..1413984655 100755 --- a/tools/arvbox/lib/arvbox/docker/cluster-config.sh +++ b/tools/arvbox/lib/arvbox/docker/cluster-config.sh @@ -6,18 +6,57 @@ exec 2>&1 set -ex -o pipefail -if [[ -s /etc/arvados/config.yml ]] ; then +if [[ -s /etc/arvados/config.yml ]] && [[ /var/lib/arvados/cluster_config.yml.override -ot /etc/arvados/config.yml ]] ; then exit fi +. /usr/local/lib/arvbox/common.sh + +set -u + +if ! test -s /var/lib/arvados/api_uuid_prefix ; then + ruby -e 'puts "x#{rand(2**64).to_s(36)[0,4]}"' > /var/lib/arvados/api_uuid_prefix +fi 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/system_root_token ; then + ruby -e 'puts rand(2**400).to_s(36)' > /var/lib/arvados/system_root_token +fi +system_root_token=$(cat /var/lib/arvados/system_root_token) + +if ! test -s /var/lib/arvados/vm-uuid ; then + echo $uuid_prefix-2x53u-$(ruby -e 'puts rand(2**400).to_s(36)[0,15]') > /var/lib/arvados/vm-uuid +fi vm_uuid=$(cat /var/lib/arvados/vm-uuid) + +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 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'" +fi +psql postgres -c "ALTER USER arvados WITH SUPERUSER;" + +if ! test -s /var/lib/arvados/workbench_secret_token ; then + ruby -e 'puts rand(2**400).to_s(36)' > /var/lib/arvados/workbench_secret_token +fi workbench_secret_key_base=$(cat /var/lib/arvados/workbench_secret_token) if test -s /var/lib/arvados/api_rails_env ; then @@ -29,32 +68,53 @@ fi cat >/var/lib/arvados/cluster_config.yml </var/lib/arvados/run_tests/config.yml <