blob: ebe4ab688656acb0e3b3b01c9ad87d8212c7557c (
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
#!/bin/bash
set -o pipefail
set -eu
export LD_LIBRARY_PATH=/usr/local/lib
# Values from config file mounted at run time:
CURRENCY=`taler-config -c /config/deployment.conf -s taler-deployment -o currency`
EXCHANGE_URL=`taler-config -c /config/deployment.conf -s taler-deployment -o default-exchange`
socat TCP-LISTEN:5555,fork,reuseaddr TCP:localhost:80 &
EXCHANGE_NEXUS_USERNAME=`taler-config -c /config/deployment.conf -s taler-deployment -o exchange-nexus-username`
EXCHANGE_NEXUS_PASSWORD=`taler-config -c /config/deployment.conf -s taler-deployment -o exchange-nexus-password`
EXCHANGE_IBAN=DE159593
TALER_FACADE_NAME=taler-facade
DB_PASSWORD=`taler-config -c /config/deployment.conf -s taler-deployment -o db-password`
sed -i "s;__EXCHANGE_URL__;${EXCHANGE_URL};" /config/taler.conf
sed -i "s;__DB_PASSWORD__;${DB_PASSWORD};" /config/taler.conf
sed -i "s/__CURRENCY__/${CURRENCY}/" /config/taler.conf
sed -i "s/__EXCHANGE_NEXUS_USERNAME__/${EXCHANGE_NEXUS_USERNAME}/" /config/taler.conf
sed -i "s/__EXCHANGE_NEXUS_PASSWORD__/${EXCHANGE_NEXUS_PASSWORD}/" /config/taler.conf
sed -i "s/__EXCHANGE_IBAN__/${EXCHANGE_IBAN}/" /config/taler.conf
sed -i "s/__TALER_FACADE_NAME__/${TALER_FACADE_NAME}/" /config/taler.conf
sed -i "s;__NEXUS_URL__;http://bank:15001;" /config/taler.conf
while ! pg_isready -h talerdb -d taler; do
echo DB not ready yet.
sleep 2
done
echo Now DB is ready.
echo -n "Init database... "
taler-exchange-dbinit -L WARNING -c /config/taler.conf
echo DONE
echo -n "Starting EDDSA helper..."
taler-exchange-secmod-eddsa -L WARNING \
-c /config/taler.conf 2>&1 | \
rotatelogs -e /logs/taler-exchange-secmod-eddsa-%Y-%m-%d.log 86400 &
echo DONE
echo -n "Starting RSA helper..."
taler-exchange-secmod-rsa -L WARNING \
-c /config/taler.conf 2>&1 | \
rotatelogs -e /logs/taler-exchange-secmod-rsa-%Y-%m-%d.log 86400 &
echo DONE
echo -n "Starting CS helper..."
taler-exchange-secmod-cs -L WARNING \
-c /config/taler.conf 2>&1 | \
rotatelogs -e /logs/taler-exchange-secmod-cs-%Y-%m-%d.log 86400 &
echo DONE
EXCHANGE_MASTER_PUB=$(taler-exchange-offline -c /config/taler.conf setup)
sed -i "s/__EXCHANGE_MASTER_PUB__/$EXCHANGE_MASTER_PUB/" /config/taler.conf
echo -n "Launching exchange HTTPD..."
taler-exchange-httpd -L WARNING -c /config/taler.conf 2>&1 | \
rotatelogs -e /logs/taler-exchange-httpd-%Y-%m-%d.log 86400 &
for n in `seq 1 50`
do
echo "."
sleep 0.3
OK=1
wget $EXCHANGE_URL -t 1 -o /dev/null -O /dev/null >/dev/null && break
OK=0
done
if [ 1 != $OK ]
then
echo "ERROR: failed to launch Exchange"
exit 1
fi
echo DONE
echo -n "Launching wirewatch..."
taler-exchange-wirewatch -L WARNING -c /config/taler.conf 2>&1 | \
rotatelogs -e /logs/taler-exchange-wirewatch-%Y-%m-%d.log 86400 &
echo DONE
echo -n "Launching transfer service..."
taler-exchange-transfer -L WARNING -c /config/taler.conf 2>&1 | \
rotatelogs -e /logs/taler-exchange-transfer-%Y-%m-%d.log 86400 &
echo DONE
echo -n "Launching aggregator service..."
taler-exchange-aggregator -L WARNING -c /config/taler.conf 2>&1 | \
rotatelogs -e /logs/taler-exchange-aggregator-%Y-%m-%d.log 86400 &
echo DONE
echo
echo -n "Setup keys and fees with taler-exchange-offline..."
taler-exchange-offline -L WARNING -c /config/taler.conf \
download sign \
enable-account "payto://iban/SANDBOXX/${EXCHANGE_IBAN}?receiver-name=Exchange+Company" \
wire-fee now iban ${CURRENCY}:0.01 ${CURRENCY}:0.01 \
global-fee now ${CURRENCY}:0 ${CURRENCY}:0 ${CURRENCY}:0 1h 1year 5 \
upload 2>&1
echo DONE
echo -n "Requesting exchange's /keys..."
curl --max-time 4 -s "${EXCHANGE_URL}keys"
echo DONE
wait -n
|