diff pilot/setup.sh @ 145:75aa7005b544

DEP-12: move comopse files to 'pilot' location
author smith@nwoca.org
date Mon, 10 Jul 2017 18:13:18 +0100
parents compose3/preview/setup.sh@72f15ffc9ad2
children d20c6ff9a821
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pilot/setup.sh	Mon Jul 10 18:13:18 2017 +0100
@@ -0,0 +1,113 @@
+#!/bin/bash
+# Sets up a new district project based on SSDT default configuration in the current working directory.
+#
+# Usage:
+#
+#  /data/preview/sampletown $   /ssdt/compose2/preview/setup.sh [usas,usps...] 
+#
+# 
+#
+# Will create a docker-compose.yml and .env file with default settings.
+#
+# 
+source "$(dirname "${BASH_SOURCE[0]}")/../scripts/.functions.sh"
+
+md5calc() {
+   md5sum ${1} ;
+}
+
+md5verify() {
+   md5sum -c --status ${1} ;
+}
+
+base=$(dirname "${BASH_SOURCE[0]}")
+default_name=$(basename $PWD)
+
+args="$1$2"
+
+usas=""
+usps=""
+
+if [ "$args" == "" ] || [ -z "${args##*usas*}" ]
+then
+   usas=1
+fi
+
+if [ "$args" == "" ] || [ -z "${args##*usps*}" ]
+then
+   usps=1
+fi
+
+echo "Preparing '$(basename $PWD)' with default USxS configuration" 
+
+touch .env
+source .env
+
+if [ "$COMPOSE_PROJECT_NAME" == "" ]
+then
+   read -e -p "Enter project name: <${default_name}> " answer
+   project_name=${answer:-$default_name}
+   echo "COMPOSE_PROJECT_NAME=${project_name}" >> .env
+   echo "set project name in .env file"
+   source .env
+fi
+
+if [ ! -e "docker-compose.yml" ] 
+then 
+   create="OK"
+elif [ -e ".docker-compose.md5" ]; then
+   md5verify ./.docker-compose.md5 && create="OK"
+fi
+
+if [ "$create" == "OK" ] 
+then
+    echo "version: \"3.1\""     > ./docker-compose.yml
+    echo "services:"            >> ./docker-compose.yml
+
+    [ ! "$usas" == "" ] &&  cat $base/usas-services.yml >> ./docker-compose.yml
+
+    [ ! "$usps" == "" ] &&  cat $base/usps-services.yml >> ./docker-compose.yml
+
+    echo "volumes:" >> ./docker-compose.yml
+
+    [ ! "$usas" == "" ] &&  echo "  usasdata:" >> ./docker-compose.yml
+    [ ! "$usps" == "" ] &&  echo "  uspsdata:" >> ./docker-compose.yml
+
+    echo "" >> ./docker-compose.yml
+
+     md5calc ./docker-compose.yml > .docker-compose.md5
+
+    echo "created docker-compose.yml"
+    
+else
+    echo "
+    
+    Error! docker-compose.yml file has been modified or checksum missing.  Can auto-apply update(s).
+           Move customizations to docker-compose.override.yml then delete the docker-compose.yml
+"
+fi
+   
+if [ "$USAS_APPLICATIONID" == "" ]
+then
+   read -e -p "Generate USAS and USPS integration config? <Y/n> " answer
+   case $answer in
+        y | Y | yes | YES ) answer="y";;
+        n | N | no | NO ) answer="n";;
+        *) answer="y"
+   esac
+   if [ "$answer" == "y" ] 
+   then
+     usas_id=${COMPOSE_PROJECT_NAME}-usas
+     usas_key=$(openssl rand -hex 32)
+     usps_id=${COMPOSE_PROJECT_NAME}-usps
+     usps_key=$(openssl rand -hex 32)
+     echo "USAS_APPLICATIONID=${usas_id}"   >> .env
+     echo "USAS_APIKEY=$usas_key"           >> .env
+     echo "USPS_APPLICATIONID=${usps_id}"   >> .env
+     echo "USPS_APIKEY=$usps_key"           >> .env
+     echo "Created integration API keys.  Enable integration modules after applications start"
+   fi
+fi
+
+echo "Review or create a docker-compose.override.yml for custom settings."
+