initial setup script to bootstrap skydns + etcd

master
Justin Riley 2016-07-11 16:33:11 -04:00
commit 07a325cdd2
1 changed files with 25 additions and 0 deletions

25
setup.sh Normal file
View File

@ -0,0 +1,25 @@
DOCKER_MACHINE="default"
DOCKER_MACHINE_STATUS=$(docker-machine status ${DOCKER_MACHINE} 2>/dev/null)
if [ -z ${DOCKER_MACHINE_STATUS} ]; then
docker-machine create ${DOCKER_MACHINE}
elif [ ${DOCKER_MACHINE_STATUS} != "Running" ]; then
docker-machine start $DOCKER_MACHINE
fi
eval "$(docker-machine env ${DOCKER_MACHINE})"
DOCKER_HOST_IP=$(docker-machine ip ${DOCKER_MACHINE})
ETCD_PORT=2379
ETCD_SKYDNS_BASEURL="http://${DOCKER_HOST_IP}:${ETCD_PORT}/v2/keys/skydns"
ETCD_SKYDNS_ARPAURL="${ETCD_SKYDNS_BASEURL}/arpa/in-addr"
ETCD_DATA_DIR="/tmp/data"
DNS_PORT=53
docker-machine ssh ${DOCKER_MACHINE} sudo mkdir -p ${ETCD_DATA_DIR}
docker run -d --name etcd -v ${ETCD_DATA_DIR}:/data -p ${ETCD_PORT}:${ETCD_PORT} quay.io/coreos/etcd:v2.3.2 --listen-client-urls http://0.0.0.0:${ETCD_PORT} --advertise-client-urls http://0.0.0.0:${ETCD_PORT} --data-dir /data
docker run -d --name skydns -p ${DNS_PORT}:${DNS_PORT} -p ${DNS_PORT}:${DNS_PORT}/udp --link etcd:etcd skynetservices/skydns:2.5.3a -machines http://etcd:${ETCD_PORT} -addr 0.0.0.0:${DNS_PORT} -no-rec
# skydns configuration
curl -XPUT ${ETCD_SKYDNS_BASEURL}/config -d value='{"domain": "cloud.rc.fas.harvard.edu"}'
# add a test CNAME
curl -XPUT ${ETCD_SKYDNS_BASEURL}/edu/harvard/fas/rc/cloud/test -d value='{"host": "10.242.77.177"}'
# add corresponding PTR
curl -XPUT ${ETCD_SKYDNS_ARPAURL}/10/242/77/177 -d value='{"host": "test.cloud.rc.fas.harvard.edu"}'
nslookup test.cloud.rc.fas.harvard.edu ${DOCKER_HOST_IP}