16955: a number of fixes to make the federation migration tests pass
[arvados.git] / tools / arvbox / lib / arvbox / docker / service / workbench / run-service
1 #!/bin/bash
2 # Copyright (C) The Arvados Authors. All rights reserved.
3 #
4 # SPDX-License-Identifier: AGPL-3.0
5
6 exec 2>&1
7 set -ex -o pipefail
8
9 .  /usr/local/lib/arvbox/common.sh
10
11 cd /usr/src/arvados/apps/workbench
12
13 if test -s $ARVADOS_CONTAINER_PATH/workbench_rails_env ; then
14   export RAILS_ENV=$(cat $ARVADOS_CONTAINER_PATH/workbench_rails_env)
15 else
16   export RAILS_ENV=development
17 fi
18
19 run_bundler --without=development
20 flock $GEM_HOME/gems.lock bundle exec passenger-config build-native-support
21 flock $GEM_HOME/gems.lock bundle exec passenger-config install-standalone-runtime
22 mkdir -p /usr/src/arvados/apps/workbench/tmp
23
24 if test "$1" = "--only-deps" ; then
25    # Workaround for validation that asserts there's a download URL
26    # configured, which breaks rake if it is missing.
27 cat >config/application.yml <<EOF
28 $RAILS_ENV:
29   keep_web_url: https://example.com/c=%{uuid_or_pdh}
30 EOF
31    RAILS_GROUPS=assets flock $GEM_HOME/gems.lock bundle exec rake npm:install
32    rm config/application.yml
33    exit
34 fi
35
36 set -u
37
38 secret_token=$(cat $ARVADOS_CONTAINER_PATH/workbench_secret_token)
39
40 if test -a /usr/src/arvados/apps/workbench/config/arvados_config.rb ; then
41     rm -f config/application.yml
42 else
43 cat >config/application.yml <<EOF
44 $RAILS_ENV:
45   secret_token: $secret_token
46   arvados_login_base: https://$localip:${services[controller-ssl]}/login
47   arvados_v1_base: https://$localip:${services[controller-ssl]}/arvados/v1
48   arvados_insecure_https: false
49   keep_web_download_url: https://$localip:${services[keep-web-ssl]}/c=%{uuid_or_pdh}
50   keep_web_url: https://$localip:${services[keep-web-ssl]}/c=%{uuid_or_pdh}
51   arvados_docsite: http://$localip:${services[doc]}/
52   force_ssl: false
53   composer_url: http://$localip:${services[composer]}
54   workbench2_url: https://$localip:${services[workbench2-ssl]}
55 EOF
56
57 (cd config && /usr/local/lib/arvbox/yml_override.py application.yml)
58 fi
59
60 RAILS_GROUPS=assets flock $GEM_HOME/gems.lock bundle exec rake npm:install
61 flock $GEM_HOME/gems.lock bundle exec rake assets:precompile