Merge branch 'master' into 14075-uploadfiles
[arvados.git] / tools / arvbox / lib / arvbox / docker / service / controller / run
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 . /usr/local/lib/arvbox/go-setup.sh
11
12 flock /var/lib/gopath/gopath.lock go get -t "git.curoverse.com/arvados.git/cmd/arvados-server"
13 install $GOPATH/bin/arvados-server /usr/local/bin
14 (cd /usr/local/bin && ln -sf arvados-server arvados-controller)
15
16 if test "$1" = "--only-deps" ; then
17     exit
18 fi
19
20 uuid_prefix=$(cat /var/lib/arvados/api_uuid_prefix)
21 database_pw=$(cat /var/lib/arvados/api_database_pw)
22
23 mkdir -p /etc/arvados
24
25 cat >/var/lib/arvados/cluster_config.yml <<EOF
26 Clusters:
27   ${uuid_prefix}:
28     NodeProfiles:
29       "*":
30         arvados-controller:
31           Listen: ":${services[controller]}" # choose a port
32         arvados-api-server:
33           Listen: ":${services[api]}" # must match Rails server port in your Nginx config
34     PostgreSQL:
35       ConnectionPool: 32 # max concurrent connections per arvados server daemon
36       Connection:
37         # All parameters here are passed to the PG client library in a connection string;
38         # see https://www.postgresql.org/docs/current/static/libpq-connect.html#LIBPQ-PARAMKEYWORDS
39         Host: localhost
40         User: arvados
41         Password: ${database_pw}
42         DBName: arvados_development
43         client_encoding: utf8
44 EOF
45
46 /usr/local/lib/arvbox/yml_override.py /var/lib/arvados/cluster_config.yml
47
48 cp /var/lib/arvados/cluster_config.yml /etc/arvados/config.yml
49
50 exec /usr/local/lib/arvbox/runsu.sh /usr/local/bin/arvados-controller