forked from fryckbos/cop
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrun.sh
executable file
·90 lines (77 loc) · 2.35 KB
/
run.sh
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
#!/bin/bash -e
source conf.sh
source services.sh
export DNS_SWITCHES=""
if [ "$1" == "--version" ]; then
VERSION="$2"
shift #move command line arguments to the left
shift #move command line arguments to the left
fi
NAME=${1:-all}
if [ "$NAME" == "--help" ]; then
echo "$0 [--version <version>]: run all services."
echo "$0 [--version <version>] <service> : run a specific service."
echo "$0 [--version <version>] coscale : run the CoScale services."
exit 0
fi
function run {
SERVICE=$1
IMAGE_VERSION=$2
if [ -e links/$SERVICE ]; then
LINKS=`cat links/$SERVICE`
else
LINKS=""
fi
if [ -e expose/$SERVICE ]; then
EXPOSED=`cat expose/$SERVICE`
else
EXPOSED=""
fi
VOLUMEFILE=volumes/$SERVICE
VOLUMES=""
if [ -e $VOLUMEFILE ]; then
for ENTRY in $(<$VOLUMEFILE); do
if [[ "$ENTRY" != "/"* ]]; then
ENTRY=`pwd`/$ENTRY
fi
VOLUMES="${VOLUMES}-v ${ENTRY} "
done
fi
echo "Starting $SERVICE:$IMAGE_VERSION"
docker run -d \
$LINKS $EXPOSED $VOLUMES $DNS_SWITCHES \
-e "API_URL=$API_URL" \
-e "API_SUPER_USER=$API_SUPER_USER" \
-e "API_SUPER_PASSWD=$API_SUPER_PASSWD" \
-e "APP_URL=$APP_URL" \
-e "MAIL_SERVER=$MAIL_SERVER" \
-e "MAIL_PORT=$MAIL_PORT" \
-e "MAIL_SSL=$MAIL_SSL" \
-e "MAIL_AUTH=$MAIL_AUTH" \
-e "MAIL_USERNAME=$MAIL_USERNAME" \
-e "MAIL_PASSWORD=$MAIL_PASSWORD" \
-e "FROM_EMAIL=$FROM_EMAIL" \
-e "SUPPORT_EMAIL=$SUPPORT_EMAIL" \
-e "RUM_URL=$RUM_URL" \
-e "ENABLE_HTTPS=$ENABLE_HTTPS" \
-e "ANOMALY_EMAIL=$ANOMALY_EMAIL" \
-e "COSCALE_VERSION=$IMAGE_VERSION" \
-e "CASSANDRA_CLEANER_SLACK=$CASSANDRA_CLEANER_SLACK" \
--name coscale_$SERVICE coscale/$SERVICE:$IMAGE_VERSION
}
# Run the data services
for SERVICE in $DATA_SERVICES; do
if [ "$NAME" == "all" ] || [ "$NAME" == "data" ] || [ "$NAME" == "$SERVICE" ]; then
run $SERVICE $VERSION
fi
done
if [ "$NAME" == "all" ]; then
echo "Sleeping 30 seconds to bring the data services up."
sleep 30
fi
# Run the coscale services
for SERVICE in $COSCALE_SERVICES $LB_SERVICE; do
if [ "$NAME" == "all" ] || [ "$NAME" == "coscale" ] || [ "$NAME" == "$SERVICE" ]; then
run $SERVICE $VERSION
fi
done