2 # Copyright (C) The Arvados Authors. All rights reserved.
4 # SPDX-License-Identifier: AGPL-3.0
9 . /usr/local/lib/arvbox/common.sh
10 . /usr/local/lib/arvbox/go-setup.sh
12 (cd /usr/local/bin && ln -sf arvados-server arvados-controller)
14 if test "$1" = "--only-deps" ; then
18 uuid_prefix=$(cat /var/lib/arvados/api_uuid_prefix)
19 secret_token=$(cat /var/lib/arvados/api_secret_token)
20 blob_signing_key=$(cat /var/lib/arvados/blob_signing_key)
21 management_token=$(cat /var/lib/arvados/management_token)
22 sso_app_secret=$(cat /var/lib/arvados/sso_app_secret)
23 vm_uuid=$(cat /var/lib/arvados/vm-uuid)
24 database_pw=$(cat /var/lib/arvados/api_database_pw)
26 workbench_secret_key_base=$(cat /var/lib/arvados/workbench_secret_token)
28 if test -s /var/lib/arvados/api_rails_env ; then
29 database_env=$(cat /var/lib/arvados/api_rails_env)
31 database_env=development
36 cat >/var/lib/arvados/cluster_config.yml <<EOF
39 ManagementToken: $management_token
42 ExternalURL: "https://$localip:${services[workbench]}"
44 ExternalURL: "https://$localip:${services[workbench2-ssl]}"
46 ExternalURL: "https://$localip:${services[sso]}"
48 ExternalURL: "wss://$localip:${services[websockets-ssl]}/websocket"
50 ExternalURL: "ssh://git@$localip:"
52 ExternalURL: "http://$localip:${services[arv-git-httpd]}/"
54 ExternalURL: "https://$localip:${services[keep-web-ssl]}/"
56 ExternalURL: "http://$localip:${services[composer]}"
58 ExternalURL: "https://$localip:${services[controller-ssl]}"
59 NodeProfiles: # to be deprecated in favor of "Services" section
62 Listen: ":${services[controller]}" # choose a port
64 Listen: ":${services[api]}" # must match Rails server port in your Nginx config
66 ConnectionPool: 32 # max concurrent connections per arvados server daemon
68 # All parameters here are passed to the PG client library in a connection string;
69 # see https://www.postgresql.org/docs/current/static/libpq-connect.html#LIBPQ-PARAMKEYWORDS
72 password: ${database_pw}
73 dbname: arvados_${database_env}
76 RailsSessionSecretToken: $secret_token
78 BlobSigningKey: $blob_signing_key
81 SupportedDockerImageFormats: ["v2"]
83 ProviderAppSecret: $sso_app_secret
84 ProviderAppID: arvados-server
86 NewUsersAreActive: true
87 AutoAdminFirstUser: true
88 AutoSetupNewUsers: true
89 AutoSetupNewUsersWithVmUUID: $vm_uuid
90 AutoSetupNewUsersWithRepository: true
92 SecretKeyBase: $workbench_secret_key_base
93 ArvadosDocsite: http://$localip:${services[doc]}/
96 /usr/local/lib/arvbox/yml_override.py /var/lib/arvados/cluster_config.yml
98 cp /var/lib/arvados/cluster_config.yml /etc/arvados/config.yml
100 exec /usr/local/lib/arvbox/runsu.sh /usr/local/bin/arvados-controller