3bc3899b0b8e7c070f6d71f23dd604ade36950ef
[arvados.git] / tools / arvbox / lib / arvbox / docker / keep-setup.sh
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 sleep 2
8 set -eux -o pipefail
9
10 . /usr/local/lib/arvbox/common.sh
11 . /usr/local/lib/arvbox/go-setup.sh
12
13 flock /var/lib/gopath/gopath.lock go install "git.arvados.org/arvados.git/services/keepstore"
14 install $GOPATH/bin/keepstore /usr/local/bin
15
16 if test "$1" = "--only-deps" ; then
17     exit
18 fi
19
20 mkdir -p /var/lib/arvados/$1
21
22 export ARVADOS_API_HOST=$localip:${services[controller-ssl]}
23 export ARVADOS_API_HOST_INSECURE=1
24 export ARVADOS_API_TOKEN=$(cat /var/lib/arvados/superuser_token)
25
26 set +e
27 read -rd $'\000' keepservice <<EOF
28 {
29  "service_host":"localhost",
30  "service_port":$2,
31  "service_ssl_flag":false,
32  "service_type":"disk"
33 }
34 EOF
35 set -e
36
37 if test -s /var/lib/arvados/$1-uuid ; then
38     keep_uuid=$(cat /var/lib/arvados/$1-uuid)
39     arv keep_service update --uuid $keep_uuid --keep-service "$keepservice"
40 else
41     UUID=$(arv --format=uuid keep_service create --keep-service "$keepservice")
42     echo $UUID > /var/lib/arvados/$1-uuid
43 fi
44
45 management_token=$(cat /var/lib/arvados/management_token)
46
47 set +e
48 sv hup /var/lib/arvbox/service/keepproxy
49
50 cat >/var/lib/arvados/$1.yml <<EOF
51 Listen: "localhost:$2"
52 BlobSigningKeyFile: /var/lib/arvados/blob_signing_key
53 SystemAuthTokenFile: /var/lib/arvados/superuser_token
54 ManagementToken: $management_token
55 MaxBuffers: 20
56 EOF
57
58 exec /usr/local/bin/keepstore -config=/var/lib/arvados/$1.yml