This repository has been archived by the owner on Oct 16, 2022. It is now read-only.
forked from tobilg/docker-mesos-dns
-
Notifications
You must be signed in to change notification settings - Fork 0
/
bootstrap.sh
72 lines (62 loc) · 1.65 KB
/
bootstrap.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
#!/bin/bash
#set -ex
# Check for MESOS_ZK parameter
if [ -z ${MESOS_ZK+x} ]; then
echo "Please supply at least a Zookeeper connection string!"
exit 1
else
ZK=$(echo ${MESOS_ZK//\//\\/})
fi
# Check for local ip address parameter
if [ -z ${LOCAL_IP+x} ]; then
IP=$(nslookup `hostname -f` | tail -1 | head -2 | awk '{print $3}')
else
IP="${LOCAL_IP}"
fi
# Check for EXTERNAL_DNS_SERVERS parameter
if [ -z ${MESOS_DNS_EXTERNAL_SERVERS+x} ]; then
DNS_SERVERS="8.8.8.8"
else
IFS=',' read -a dnshosts <<< "$MESOS_DNS_EXTERNAL_SERVERS"
for index in "${!dnshosts[@]}"
do
DNS_SERVER_STRINGS[(index+1)]="\"${dnshosts[index]}\""
done
# Produce correct env variables for DNS servers
IFS=','
DNS_SERVERS="[${DNS_SERVER_STRINGS[*]}]"
fi
# Check for HTTP_PORT parameter
if [ -z ${MESOS_DNS_HTTP_PORT+x} ]; then
PORT="8123"
else
PORT="${MESOS_DNS_HTTP_PORT}"
fi
# Check for HTTP_ENABLED parameter
if [ -z ${MESOS_DNS_HTTP_ENABLED+x} ]; then
HTTP_ENABLED="false"
else
HTTP_ENABLED="${MESOS_DNS_HTTP_ENABLED}"
fi
# Check for REFRESH parameter
if [ -z ${MESOS_DNS_REFRESH+x} ]; then
REFRESH="60"
else
REFRESH="${MESOS_DNS_REFRESH}"
fi
# Check for TIMEOUT parameter
if [ -z ${MESOS_DNS_TIMEOUT+x} ]; then
TIMEOUT="5"
else
TIMEOUT="${MESOS_DNS_TIMEOUT}"
fi
# Replace network interface name
sed -i -e "s/%%MESOS_ZK%%/${ZK}/" \
-e "s/%%IP%%/${LOCAL_IP}/" \
-e "s/%%HTTP_PORT%%/${PORT}/" \
-e "s/%%EXTERNAL_DNS_SERVERS%%/${DNS_SERVERS}/" \
-e "s/%%HTTP_ON%%/${HTTP_ENABLED}/" \
-e "s/%%REFRESH%%/${REFRESH}/" \
-e "s/%%TIMEOUT%%/${TIMEOUT}/" \
$MESOS_DNS_PATH/config.json
exec $MESOS_DNS_PATH/mesos-dns -config=$MESOS_DNS_PATH/config.json -v=2