diff --git a/deploy.sh b/deploy.sh index 48bc95c..8a9c479 100755 --- a/deploy.sh +++ b/deploy.sh @@ -38,7 +38,55 @@ fi if [[ "$SMARTHOST_PROXY" == "YES" || "$SMARTHOST_PROXY" == "TRUE" ]]; then PROXY_TYPE=smarthost-proxy" "$PROXY_TYPE; fi - + +# INSTALL CORE DNS + +# SETUP CORE DNS SERVICE +# COPY CORE DNS FILES +if [ "$CORE_DNS" == "" ]; then + CORE_DNS=core-dns +fi + +install_core_dns() { + cp -rv /tmp/$CORE_DNS/*.json $SERVICE_DIR/ ; + + DNS_VOLUMES=$(jq -r .containers[].VOLUMES[].SOURCE $SERVICE_DIR/$CORE_DNS.json |grep -v '\.') + for VOLUME in $(echo $DNS_VOLUMES); do + mkdir -p $VOLUME; + done + + DNS_VOLUMES=$(jq -r --arg DEST "/etc/dnsmasq" '.containers[0].VOLUMES[] | select(.DEST | startswith($DEST))' $SERVICE_DIR/$CORE_DNS.json) + DNS_DIR=$(echo $DNS_VOLUMES | jq -r .SOURCE) + + mkdir -p $DNS_DIR; + cp -rv /tmp/$CORE_DNS/dns.conf $DNS_DIR/ ; +} + +git clone ssh://$GIT_REPO/$ORGANIZATION/$CORE_DNS.git /tmp/$CORE_DNS + +if [[ "$PUBLIC_PROXY" == "YES" || "$PUBLIC_PROXY" == "TRUE" ]]; then + EXISTS=$(grep -E ' publicloadbalancer| publicbackend-1| publicbackend-2' $DNS_DIR/hosts.local); + if [ -z "$EXISTS" ]; then + echo ' +172.18.100.2 publicloadbalancer +172.18.101.2 publicbackend-1 +172.18.102.2 publicbackend-2 + ' >> $DNS_DIR/hosts.local + fi; +fi; + +if [[ "$SMARTHOST_PROXY" == "YES" || "$SMARTHOST_PROXY" == "TRUE" ]]; then + EXISTS=$(grep -E ' letsencrypt| smarthostloadbalancer| smarthostbackend-1| smarthostbackend-2' $DNS_DIR/hosts.local); + if [ -z "$EXISTS" ]; then + echo ' +172.18.254.254 letsencrypt +172.18.103.2 smarthostloadbalancer +172.18.104.2 smarthostbackend-1 +172.18.105.2 smarthostbackend-2 + ' >> $DNS_DIR/hosts.local + fi; +fi + # INSTALL PROXY SERVICES for i in $(echo $PROXY_TYPE); do @@ -75,11 +123,11 @@ for i in $(echo $PROXY_TYPE); do DOMAIN_DIR=$(echo $DOMAIN_VOLUME | jq -r .SOURCE) mkdir -p $SERVICE_DIR; - cp -av /tmp/$i/*.json $SERVICE_DIR/ - # CREATE FILESYSTEM ACCESS FOR SERVICES + install_core_dns + # CREATE FILESYSTEM ACCESS FOR SERVICES mkdir -p $PROXY_DIR mkdir -p $DOMAIN_DIR @@ -90,9 +138,9 @@ for i in $(echo $PROXY_TYPE); do PROXY_VOLUMES=$(jq -r .containers[].VOLUMES[].SOURCE /tmp/$i/$i.json |grep -v '\.') - for VOLUME in $(echo $PROXY_VOLUMES); do - mkdir -p $VOLUME; - done + for VOLUME in $(echo $PROXY_VOLUMES); do + mkdir -p $VOLUME; + done # CREATE PROXY SCHEDULER SERVICE @@ -122,15 +170,13 @@ for i in $(echo $PROXY_TYPE); do rm $TMP_FILE if [ "$i" == "public-proxy" ]; then - + # COPY LOADBALANCER STATIC CONFIG mkdir -p $SPEC_PROXY_DIR/loadbalancer; cp -av /tmp/$i/haproxy.cfg $SPEC_PROXY_DIR/loadbalancer/ ; - fi - - if [ "$i" == "smarthost-proxy" ]; then + elif [ "$i" == "smarthost-proxy" ]; then # SETUP LETSENCRYPT USER SPECIFIED CONFIGURATION @@ -163,25 +209,5 @@ for i in $(echo $PROXY_TYPE); do fi - # SETUP PROXY DNS SERVICE - # COPY PROXY DNS FILES - if [ "$PROXY_DNS" == "" ]; then - PROXY_DNS=proxy-dns - fi - - git clone ssh://$GIT_REPO/$ORGANIZATION/$PROXY_DNS.git /tmp/$PROXY_DNS - - - DNS_VOLUMES=$(jq -r .containers[].VOLUMES[].SOURCE /tmp/$i/$PROXY_DNS.json |grep -v '\.') - - for VOLUME in $(echo $DNS_VOLUMES); do - mkdir -p $VOLUME; - done - - DNS_VOLUMES=$(jq -r --arg DEST "/etc/dnsmasq" '.containers[0].VOLUMES[] | select(.DEST | startswith($DEST))' /tmp/$i/$PROXY_DNS.json) - DNS_DIR=$(echo $DNS_VOLUMES | jq -r .SOURCE) - - mkdir -p $DNS_DIR; - cp -rv /tmp/$PROXY_DNS/* $DNS_DIR/ ; fi done