Merge branch '8784-dir-listings'
[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
12 mkdir -p /var/lib/gopath
13 cd /var/lib/gopath
14
15 export GOPATH=$PWD
16 mkdir -p "$GOPATH/src/git.curoverse.com"
17 ln -sfn "/usr/src/arvados" "$GOPATH/src/git.curoverse.com/arvados.git"
18 flock /var/lib/gopath/gopath.lock go get -t "git.curoverse.com/arvados.git/services/keepstore"
19 install bin/keepstore /usr/local/bin
20
21 if test "$1" = "--only-deps" ; then
22     exit
23 fi
24
25 mkdir -p /var/lib/arvados/$1
26
27 export ARVADOS_API_HOST=$localip:${services[api]}
28 export ARVADOS_API_HOST_INSECURE=1
29 export ARVADOS_API_TOKEN=$(cat /var/lib/arvados/superuser_token)
30
31 set +e
32 read -rd $'\000' keepservice <<EOF
33 {
34  "service_host":"$localip",
35  "service_port":$2,
36  "service_ssl_flag":false,
37  "service_type":"disk"
38 }
39 EOF
40 set -e
41
42 if test -s /var/lib/arvados/$1-uuid ; then
43     keep_uuid=$(cat /var/lib/arvados/$1-uuid)
44     arv keep_service update --uuid $keep_uuid --keep-service "$keepservice"
45 else
46     UUID=$(arv --format=uuid keep_service create --keep-service "$keepservice")
47     echo $UUID > /var/lib/arvados/$1-uuid
48 fi
49
50 set +e
51 killall -HUP keepproxy
52
53 exec /usr/local/bin/keepstore \
54      -listen=:$2 \
55      -enforce-permissions=true \
56      -blob-signing-key-file=/var/lib/arvados/blob_signing_key \
57      -data-manager-token-file=/var/lib/arvados/superuser_token \
58      -max-buffers=20 \
59      -volume=/var/lib/arvados/$1