Upgrade the helm charts to Arvados 2.1.0.
[arvados-k8s.git] / dockerfiles / bootstrap.sh
1 #!/bin/bash
2
3 # Copyright (C) The Arvados Authors. All rights reserved.
4 #
5 # SPDX-License-Identifier: Apache-2.0
6
7 if [[ "$1" == "" ]]; then
8   echo "Syntax: $0 <package=version> [package=version] [gem:package=version] ..."
9   exit 1
10 fi
11
12 if [[ "$@" =~ "arvados-workbench=" ]] || [[ "$@" =~ "arvados-api-server=" ]]; then
13   RESET_NGINX_DAEMON_FLAG=true
14 else
15   RESET_NGINX_DAEMON_FLAG=false
16 fi
17
18 gems=()
19 debs=()
20 for var in "$@"; do
21   if [[ "$var" =~ "gem:" ]]; then
22     cleanvar=${var#gem:}
23     gems+=" $cleanvar"
24   else
25     debs+=" $var"
26   fi
27 done
28
29 if [[ "$RESET_NGINX_DAEMON_FLAG" == true ]]; then
30   # our packages restart nginx; with the 'daemon off' flag in place, 
31   # that makes package install hang. Arguably we shouldn't be restarting nginx on install.
32   sed -i 's/daemon off;/#daemon off;/' /etc/nginx/nginx.conf
33 fi
34
35 if [[ "$debs" != "" ]]; then
36   apt-get -qqy --allow-downgrades install $debs
37   if [[ "$?" != "0" ]]; then
38     # Maybe we need to update the apt cache first?
39     apt-get update
40     apt-get -qqy --allow-downgrades install $debs
41   fi
42 fi
43
44 if [[ "$gems" != "" ]]; then
45   for var in $gems; do
46     IFS='=' arr=($var)
47     gem install ${arr[0]} -v ${arr[1]} --no-rdoc --no-ri
48   done
49 fi
50
51 if [[ "$RESET_NGINX_DAEMON_FLAG" == true ]]; then
52   /etc/init.d/nginx stop
53   sed -i 's/#daemon off;/daemon off;/' /etc/nginx/nginx.conf
54 fi