annotate compose3/preview/setup.sh @ 136:72f15ffc9ad2

DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
author smith@nwoca.org
date Mon, 15 May 2017 23:07:10 +0100
parents 03e39b95d904
children
rev   line source
129
5c986cbb22b8 DEP-12: add simple script to standardize setting up projects
smith@nwoca.org
parents:
diff changeset
1 #!/bin/bash
5c986cbb22b8 DEP-12: add simple script to standardize setting up projects
smith@nwoca.org
parents:
diff changeset
2 # Sets up a new district project based on SSDT default configuration in the current working directory.
5c986cbb22b8 DEP-12: add simple script to standardize setting up projects
smith@nwoca.org
parents:
diff changeset
3 #
5c986cbb22b8 DEP-12: add simple script to standardize setting up projects
smith@nwoca.org
parents:
diff changeset
4 # Usage:
5c986cbb22b8 DEP-12: add simple script to standardize setting up projects
smith@nwoca.org
parents:
diff changeset
5 #
135
03e39b95d904 DEP-12: convert to compose verison 3.1 (again)
smith@nwoca.org
parents: 134
diff changeset
6 # /data/preview/sampletown $ /ssdt/compose2/preview/setup.sh [usas,usps...]
03e39b95d904 DEP-12: convert to compose verison 3.1 (again)
smith@nwoca.org
parents: 134
diff changeset
7 #
03e39b95d904 DEP-12: convert to compose verison 3.1 (again)
smith@nwoca.org
parents: 134
diff changeset
8 #
129
5c986cbb22b8 DEP-12: add simple script to standardize setting up projects
smith@nwoca.org
parents:
diff changeset
9 #
5c986cbb22b8 DEP-12: add simple script to standardize setting up projects
smith@nwoca.org
parents:
diff changeset
10 # Will create a docker-compose.yml and .env file with default settings.
5c986cbb22b8 DEP-12: add simple script to standardize setting up projects
smith@nwoca.org
parents:
diff changeset
11 #
5c986cbb22b8 DEP-12: add simple script to standardize setting up projects
smith@nwoca.org
parents:
diff changeset
12 #
5c986cbb22b8 DEP-12: add simple script to standardize setting up projects
smith@nwoca.org
parents:
diff changeset
13 source "$(dirname "${BASH_SOURCE[0]}")/../../scripts/.functions.sh"
5c986cbb22b8 DEP-12: add simple script to standardize setting up projects
smith@nwoca.org
parents:
diff changeset
14
136
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
15 md5calc() {
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
16 md5sum ${1} ;
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
17 }
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
18
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
19 md5verify() {
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
20 md5sum -c --status ${1} ;
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
21 }
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
22
129
5c986cbb22b8 DEP-12: add simple script to standardize setting up projects
smith@nwoca.org
parents:
diff changeset
23 base=$(dirname "${BASH_SOURCE[0]}")
132
a095257a342b DEP-12: add auto-config of initial integration keys
smith@nwoca.org
parents: 130
diff changeset
24 default_name=$(basename $PWD)
129
5c986cbb22b8 DEP-12: add simple script to standardize setting up projects
smith@nwoca.org
parents:
diff changeset
25
135
03e39b95d904 DEP-12: convert to compose verison 3.1 (again)
smith@nwoca.org
parents: 134
diff changeset
26 args="$1$2"
03e39b95d904 DEP-12: convert to compose verison 3.1 (again)
smith@nwoca.org
parents: 134
diff changeset
27
136
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
28 usas=""
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
29 usps=""
135
03e39b95d904 DEP-12: convert to compose verison 3.1 (again)
smith@nwoca.org
parents: 134
diff changeset
30
03e39b95d904 DEP-12: convert to compose verison 3.1 (again)
smith@nwoca.org
parents: 134
diff changeset
31 if [ "$args" == "" ] || [ -z "${args##*usas*}" ]
03e39b95d904 DEP-12: convert to compose verison 3.1 (again)
smith@nwoca.org
parents: 134
diff changeset
32 then
03e39b95d904 DEP-12: convert to compose verison 3.1 (again)
smith@nwoca.org
parents: 134
diff changeset
33 usas=1
03e39b95d904 DEP-12: convert to compose verison 3.1 (again)
smith@nwoca.org
parents: 134
diff changeset
34 fi
03e39b95d904 DEP-12: convert to compose verison 3.1 (again)
smith@nwoca.org
parents: 134
diff changeset
35
03e39b95d904 DEP-12: convert to compose verison 3.1 (again)
smith@nwoca.org
parents: 134
diff changeset
36 if [ "$args" == "" ] || [ -z "${args##*usps*}" ]
03e39b95d904 DEP-12: convert to compose verison 3.1 (again)
smith@nwoca.org
parents: 134
diff changeset
37 then
03e39b95d904 DEP-12: convert to compose verison 3.1 (again)
smith@nwoca.org
parents: 134
diff changeset
38 usps=1
03e39b95d904 DEP-12: convert to compose verison 3.1 (again)
smith@nwoca.org
parents: 134
diff changeset
39 fi
03e39b95d904 DEP-12: convert to compose verison 3.1 (again)
smith@nwoca.org
parents: 134
diff changeset
40
130
bf5f8acc35f2 DEP-12: improve compse setup.sh
smith@nwoca.org
parents: 129
diff changeset
41 echo "Preparing '$(basename $PWD)' with default USxS configuration"
bf5f8acc35f2 DEP-12: improve compse setup.sh
smith@nwoca.org
parents: 129
diff changeset
42
129
5c986cbb22b8 DEP-12: add simple script to standardize setting up projects
smith@nwoca.org
parents:
diff changeset
43 touch .env
5c986cbb22b8 DEP-12: add simple script to standardize setting up projects
smith@nwoca.org
parents:
diff changeset
44 source .env
5c986cbb22b8 DEP-12: add simple script to standardize setting up projects
smith@nwoca.org
parents:
diff changeset
45
5c986cbb22b8 DEP-12: add simple script to standardize setting up projects
smith@nwoca.org
parents:
diff changeset
46 if [ "$COMPOSE_PROJECT_NAME" == "" ]
5c986cbb22b8 DEP-12: add simple script to standardize setting up projects
smith@nwoca.org
parents:
diff changeset
47 then
132
a095257a342b DEP-12: add auto-config of initial integration keys
smith@nwoca.org
parents: 130
diff changeset
48 read -e -p "Enter project name: <${default_name}> " answer
a095257a342b DEP-12: add auto-config of initial integration keys
smith@nwoca.org
parents: 130
diff changeset
49 project_name=${answer:-$default_name}
a095257a342b DEP-12: add auto-config of initial integration keys
smith@nwoca.org
parents: 130
diff changeset
50 echo "COMPOSE_PROJECT_NAME=${project_name}" >> .env
129
5c986cbb22b8 DEP-12: add simple script to standardize setting up projects
smith@nwoca.org
parents:
diff changeset
51 echo "set project name in .env file"
130
bf5f8acc35f2 DEP-12: improve compse setup.sh
smith@nwoca.org
parents: 129
diff changeset
52 source .env
129
5c986cbb22b8 DEP-12: add simple script to standardize setting up projects
smith@nwoca.org
parents:
diff changeset
53 fi
130
bf5f8acc35f2 DEP-12: improve compse setup.sh
smith@nwoca.org
parents: 129
diff changeset
54
136
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
55 if [ ! -e "docker-compose.yml" ]
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
56 then
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
57 create="OK"
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
58 elif [ -e ".docker-compose.md5" ]; then
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
59 md5verify ./.docker-compose.md5 && create="OK"
132
a095257a342b DEP-12: add auto-config of initial integration keys
smith@nwoca.org
parents: 130
diff changeset
60 fi
a095257a342b DEP-12: add auto-config of initial integration keys
smith@nwoca.org
parents: 130
diff changeset
61
136
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
62 if [ "$create" == "OK" ]
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
63 then
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
64 echo "version: \"3.1\"" > ./docker-compose.yml
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
65 echo "services:" >> ./docker-compose.yml
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
66
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
67 [ ! "$usas" == "" ] && cat $base/usas-services.yml >> ./docker-compose.yml
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
68
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
69 [ ! "$usps" == "" ] && cat $base/usps-services.yml >> ./docker-compose.yml
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
70
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
71 echo "volumes:" >> ./docker-compose.yml
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
72
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
73 [ ! "$usas" == "" ] && echo " usasdata:" >> ./docker-compose.yml
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
74 [ ! "$usps" == "" ] && echo " uspsdata:" >> ./docker-compose.yml
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
75
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
76 echo "" >> ./docker-compose.yml
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
77
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
78 md5calc ./docker-compose.yml > .docker-compose.md5
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
79
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
80 echo "created docker-compose.yml"
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
81
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
82 else
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
83 echo "
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
84
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
85 Error! docker-compose.yml file has been modified or checksum missing. Can auto-apply update(s).
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
86 Move customizations to docker-compose.override.yml then delete the docker-compose.yml
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
87 "
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
88 fi
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
89
134
48c5b742016c DEP-12: correct guard expression on integration keys
smith@nwoca.org
parents: 132
diff changeset
90 if [ "$USAS_APPLICATIONID" == "" ]
132
a095257a342b DEP-12: add auto-config of initial integration keys
smith@nwoca.org
parents: 130
diff changeset
91 then
a095257a342b DEP-12: add auto-config of initial integration keys
smith@nwoca.org
parents: 130
diff changeset
92 read -e -p "Generate USAS and USPS integration config? <Y/n> " answer
a095257a342b DEP-12: add auto-config of initial integration keys
smith@nwoca.org
parents: 130
diff changeset
93 case $answer in
a095257a342b DEP-12: add auto-config of initial integration keys
smith@nwoca.org
parents: 130
diff changeset
94 y | Y | yes | YES ) answer="y";;
a095257a342b DEP-12: add auto-config of initial integration keys
smith@nwoca.org
parents: 130
diff changeset
95 n | N | no | NO ) answer="n";;
a095257a342b DEP-12: add auto-config of initial integration keys
smith@nwoca.org
parents: 130
diff changeset
96 *) answer="y"
a095257a342b DEP-12: add auto-config of initial integration keys
smith@nwoca.org
parents: 130
diff changeset
97 esac
a095257a342b DEP-12: add auto-config of initial integration keys
smith@nwoca.org
parents: 130
diff changeset
98 if [ "$answer" == "y" ]
a095257a342b DEP-12: add auto-config of initial integration keys
smith@nwoca.org
parents: 130
diff changeset
99 then
a095257a342b DEP-12: add auto-config of initial integration keys
smith@nwoca.org
parents: 130
diff changeset
100 usas_id=${COMPOSE_PROJECT_NAME}-usas
a095257a342b DEP-12: add auto-config of initial integration keys
smith@nwoca.org
parents: 130
diff changeset
101 usas_key=$(openssl rand -hex 32)
a095257a342b DEP-12: add auto-config of initial integration keys
smith@nwoca.org
parents: 130
diff changeset
102 usps_id=${COMPOSE_PROJECT_NAME}-usps
a095257a342b DEP-12: add auto-config of initial integration keys
smith@nwoca.org
parents: 130
diff changeset
103 usps_key=$(openssl rand -hex 32)
a095257a342b DEP-12: add auto-config of initial integration keys
smith@nwoca.org
parents: 130
diff changeset
104 echo "USAS_APPLICATIONID=${usas_id}" >> .env
a095257a342b DEP-12: add auto-config of initial integration keys
smith@nwoca.org
parents: 130
diff changeset
105 echo "USAS_APIKEY=$usas_key" >> .env
a095257a342b DEP-12: add auto-config of initial integration keys
smith@nwoca.org
parents: 130
diff changeset
106 echo "USPS_APPLICATIONID=${usps_id}" >> .env
a095257a342b DEP-12: add auto-config of initial integration keys
smith@nwoca.org
parents: 130
diff changeset
107 echo "USPS_APIKEY=$usps_key" >> .env
136
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
108 echo "Created integration API keys. Enable integration modules after applications start"
132
a095257a342b DEP-12: add auto-config of initial integration keys
smith@nwoca.org
parents: 130
diff changeset
109 fi
a095257a342b DEP-12: add auto-config of initial integration keys
smith@nwoca.org
parents: 130
diff changeset
110 fi
a095257a342b DEP-12: add auto-config of initial integration keys
smith@nwoca.org
parents: 130
diff changeset
111
136
72f15ffc9ad2 DEP-12: convert compose files to 3.1. remove template. update bash script to create composite docker-files without extends. prevent overwriting manual changes to docker-comose.yml
smith@nwoca.org
parents: 135
diff changeset
112 echo "Review or create a docker-compose.override.yml for custom settings."
132
a095257a342b DEP-12: add auto-config of initial integration keys
smith@nwoca.org
parents: 130
diff changeset
113