16306: Comment out Workbench2 so health check succeeds.
[arvados.git] / cmd / arvados-dev / docker-boot.sh
1 #!/bin/bash
2 # Copyright (C) The Arvados Authors. All rights reserved.
3 #
4 # SPDX-License-Identifier: AGPL-3.0
5
6 # Bring up a docker container with some locally-built commands (e.g.,
7 # cmd/arvados-server) replacing the ones that came with
8 # arvados-server-easy when the arvados-installpackage-* image was
9 # built.
10 #
11 # Assumes docker-build-install.sh has already succeeded.
12 #
13 # Example:
14 #
15 #    docker-boot.sh cmd/arvados-server services/keep-balance
16
17 set -e -o pipefail
18
19 declare -A opts=()
20 while [[ $# -gt 0 ]]; do
21     case "$1" in
22         --os)
23             shift
24             opts[os]="$1"
25             shift
26             ;;
27         --shell)
28             shift
29             opts[shell]=1
30             ;;
31         *)
32             break
33             ;;
34     esac
35 done
36
37 cleanup() {
38     if [[ -n "${tmpdir}" ]]; then
39         rm -rf "${tmpdir}"
40     fi
41 }
42 trap cleanup ERR EXIT
43
44 tmpdir=$(mktemp -d)
45 version=$(git describe --tag --dirty)
46
47 declare -a volargs=()
48 for inject in "$@"; do
49     case "$inject" in
50         nginx.conf)
51             volargs+=(-v "$(pwd)/sdk/python/tests/$inject:/var/lib/arvados/share/$inject:ro")
52             ;;
53         *)
54             echo >&2 "building $inject..."
55             (cd $inject && GOBIN=$tmpdir go install -ldflags "-X git.arvados.org/arvados.git/lib/cmd.version=${version} -X main.version=${version}")
56             cmd="$(basename "$inject")"
57             volargs+=(-v "$tmpdir/$cmd:/var/lib/arvados/bin/$cmd:ro")
58             ;;
59     esac
60 done
61
62 osbase=${opts[os]:-debian:10}
63 installimage=arvados-installpackage-${osbase}
64 command="/var/lib/arvados/bin/arvados-server boot -listen-host 0.0.0.0"
65 if [[ "${opts[shell]}" ]]; then
66     command="bash -login"
67 fi
68 docker run -it --rm \
69        "${volargs[@]}" \
70        "${installimage}" \
71        bash -c "/etc/init.d/postgresql start && /var/lib/arvados/bin/arvados-server init -cluster-id x1234 && $command"