This repository has been archived by the owner on Apr 3, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathstart-docker.sh
executable file
·131 lines (101 loc) · 4.66 KB
/
start-docker.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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
cf_cli_not_found(){
echo "#######################################################\n\n \
Cloud Foundry CLI could not be found. Please install to continue. \n\n\
#######################################################\n\n"
exit 1
}
cloud_foundry_signin () {
echo "#######################################################\n\n \
Lets get you signed into Cloud Foundry. \n\n\
#######################################################\n\n"
make cf-signin ${user_email}
echo "#######################################################\n\n \
Installing cf conduit... \n\n\
#######################################################\n\n"
make install-cf-conduit
}
cloud_foundry_signin_sso () {
echo "#######################################################\n\n \
Lets get you signed into Cloud Foundry. \n\n\
#######################################################\n\n"
make cf-signin-sso ${user_email}
echo "#######################################################\n\n \
Installing cf conduit... \n\n\
#######################################################\n\n"
make install-cf-conduit
}
echo "#######################################################\n\n \
Lets get started \n\n\
#######################################################\n\n"
echo "Enter Your Email: "
read user_email
echo "\n#######################################################\n\n \
Welcome ${user_email}! \n\n\
#######################################################\n\n"
echo "#######################################################\n\n \
Checking for Cloud Foundry CLI... \n\n\
#######################################################\n\n"
cf logout || cf_cli_not_found
cloud_foundry_signin_sso
clone_invest_pir_api (){
echo "#######################################################\n\n \
Attempting directory-api database clone. This can take a few minutes...\n\n\
#######################################################\n\n"
cf conduit -o dit-staging -s directory-dev invest-pir-api-dev-db -- pg_dump -cOx | docker exec --interactive postgres psql -U debug invest_pir_api_debug
}
pg_dump_not_found (){
echo "#######################################################\n\n \
pg_dump could not be found. Please check PATH variables. \n\n\
#######################################################\n\n"
exit 1
}
read -e -p "Would you like to add hosts to /etc/hosts? [Y/n] " YN
if [[ $YN != "n" && $YN != "N" && $YN != "" ]]; then
echo "Adding to /etc/hosts...\n"
echo "127.0.0.1 greatcms.trade.great" >> /etc/hosts
echo "127.0.0.1 buyer.trade.great" >> /etc/hosts
echo "127.0.0.1 supplier.trade.great" >> /etc/hosts
echo "127.0.0.1 sso.trade.great" >> /etc/hosts
echo "127.0.0.1 sso.proxy.trade.great" >> /etc/hosts
echo "127.0.0.1 api.trade.great" >> /etc/hosts
echo "127.0.0.1 profile.trade.great" >> /etc/hosts
echo "127.0.0.1 exred.trade.great" >> /etc/hosts
echo "127.0.0.1 forms.trade.great" >> /etc/hosts
echo "127.0.0.1 international.trade.great" >> /etc/hosts
echo "127.0.0.1 cms.trade.great" >> /etc/hosts
echo "127.0.0.1 components.trade.great" >> /etc/hosts
fi
echo "#######################################################\n\n \
Creating secrets... \n\n\
#######################################################\n\n"
if [ ! -f ./.env ]; \
then echo "#!/usr/bin/env bash\nexport EMAIL='${user_email}'" > .env \
&& echo "Created .env"; \
else echo ".env already exists."; \
fi
if [ ! -f ./docker/.env ]; \
then sed -e 's/#DO NOT ADD SECRETS TO THIS FILE//g' local_docker_env_template > docker/.env \
&& echo "Created docker/.env"; \
else echo "docker/.env already exists. Delete it first to recreate it."; \
fi
echo "Starting docker build...\n"
docker-compose -f docker-compose.yml -f docker-compose-test.yml rm -f && docker-compose -f docker-compose.yml -f docker-compose-test.yml pull
python ./docker/env_writer.py ./docker/env.json ./docker/env.test.json
docker-compose up -d --build
read -e -p "Would you like to clone databases? [Y/n] " YN
if [[ $YN != "n" && $YN != "N" && $YN != "" ]]; then
echo "#######################################################\n\n \
Checking for pg_dump in PATH... \n\n\
#######################################################\n\n"
pg_dump --version || pg_dump_not_found
clone_invest_pir_api
fi
echo "#######################################################\n\n \
Logout of Cloud Foundry \n\n\
#######################################################\n\n"
cf logout
echo "#######################################################\n\n \
*** Congratulations *** \n\n\
Everything should now be up and running \n\n\
#######################################################\n\n"
exit 1