summaryrefslogtreecommitdiff
path: root/bootstrap-bluegreen
blob: 8635f025420f373b3a5f091d484b9a5b1db46da6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#!/bin/bash

# Bootstrap the Taler setup for the user account that
# is currently logged in.

# The setup generated by this script is suitable for
# blue-green deployments, where two users run
# identical environments, and traffic can be switched
# between them.

# To create a demo setup, run
# demo-blue$ ~/deployment/bootstrap-bluegreen demo
# demo-green$ ~/deployment/bootstrap-bluegreen demo

# There MUST be a user with the same name
# as the deployment basename to share data
# between the blue/green deployment.

set -eu

usage() {
  echo "Usage: $0 ENVNAME"
}

if [ -z ${1+x} ]; then
  usage
  exit 1
fi

ENVNAME=$1

BRANCH=master
CURRENCY=PUDOS
case $ENVNAME in
  demo)
    BRANCH=stable
    CURRENCY=KUDOS
    ;;
esac

cd $HOME

if ! test -d $HOME/gnunet; then
  git clone git://gnunet.org/gnunet.git
  git -C ~/gnunet checkout -q tags/taler-0.2.0
fi

if ! test -d $HOME/libmicrohttpd; then
  git clone git://gnunet.org/libmicrohttpd.git
  git -C ~/libmicrohttpd checkout -q tags/v0.9.52
fi

for component in bank merchant gnurl landing exchange merchant-frontends deployment; do
  if ! test -d $HOME/$component; then
    git clone /var/git/$component.git
  fi
done

for component in bank merchant landing exchange merchant-frontends; do
  echo "Checking out $component to $BRANCH"
  git -C $HOME/$component checkout $BRANCH
done

cat >$HOME/activate <<EOL
#!/bin/bash

function taler-config-generate () {
  echo "Command disabled. Clease use taler-deployment-config-generate instead."
  return 1
}
function taler-exchange-keyup () {
  echo "Command disabled. Clease use taler-deployment-keyup instead."
}


export PATH="$HOME/deployment/bin:$HOME/local/bin:\$PATH"
export TALER_CHECKDB="postgres:///talercheck-$USER"
export TALER_CONFIG_CURRENCY=$CURRENCY
export TALER_CONFIG_ENV=$ENVNAME
EOL

ln -sf "/home/$ENVNAME/shared-data" "$HOME"