@@ -46,12 +46,45 @@ if [[ -z $FRESH ]]; then
4646fi
4747
4848cleanup_containers (){
49- CLEAN_IDS=$( docker ps -a | grep -P ' ^.*(\ssarjitsu.*|' $METRICSTORE_CONTAINER_ID ' )$' | awk -F' ' ' {print $1}' )
50- if [[ ! -z $CLEAN_IDS ]]; then
51- log " cleaning up previously created sarjitsu instances"
52- docker stop $CLEAN_IDS
53- docker rm $CLEAN_IDS
54- fi
49+ CLEAN_IDS=($MIDDLEWARE_CONTAINER_ID $BACKEND_CONTAINER_ID )
50+ CONFIGURABLES=($METRICSTORE_CONTAINER_ID $DATASOURCE_CONTAINER_ID $FRONTEND_CONTAINER_ID )
51+
52+ declare -A components
53+ components+=( [$METRICSTORE_CONTAINER_ID ]=" DB_HOST" \
54+ [$DATASOURCE_CONTAINER_ID ]=" ES_HOST" \
55+ [$FRONTEND_CONTAINER_ID ]=" GRAFANA_HOST" \
56+ [$MIDDLEWARE_CONTAINER_ID ]=" MIDDLEWARE_HOST" \
57+ [$BACKEND_CONTAINER_ID ]=" BACKEND_HOST" )
58+
59+ sed -i -r ' s#^MIDDLEWARE_HOST=.*#MIDDLEWARE_HOST=#g' $APP_CONF
60+ export MIDDLEWARE_HOST=' '
61+
62+ if [ $1 -eq 0 ]; then
63+ for host_type in " ${CONFIGURABLES[@]} " ; do
64+ host_value=$( eval " echo \$ ${components[${host_type}]} " )
65+ if [[ -z $host_value ]]; then
66+ CLEAN_IDS+=($host_type )
67+ fi
68+ done
69+ else
70+ for host_type in " ${CONFIGURABLES[@]} " ; do
71+ CLEAN_IDS+=($host_type )
72+ done
73+ fi
74+
75+ GREP_PATTERNS=' '
76+ for host_type in " ${CLEAN_IDS[@]} " ; do
77+ GREP_PATTERNS+=" -e $host_type "
78+ done
79+
80+ SCHEDULED_CLEANUPS=$( docker ps -a | grep $GREP_PATTERNS | awk -F' ' ' {print $1}' )
81+
82+ # CLEAN_IDS=$(docker ps -a | grep -P '^.*(\ssarjitsu.*|'$METRICSTORE_CONTAINER_ID')$' | awk -F' ' '{print $1}')
83+ if [[ ! -z $SCHEDULED_CLEANUPS ]]; then
84+ log " cleaning up previously created sarjitsu instances for: [${CLEAN_IDS[@]} ]"
85+ # docker stop $SCHEDULED_CLEANUPS
86+ docker rm -f $SCHEDULED_CLEANUPS
87+ fi
5588}
5689
5790cleanup_host_info (){
@@ -185,15 +218,20 @@ main(){
185218
186219bootstrap (){
187220 if [ $FRESH -eq 1 ]; then
188- log " (FRESH INSTALL) overriding default IP addresses under sarjitsu.conf"
221+ log " (FRESH INSTALL) overriding default IP addresses under sarjitsu.conf"
222+ log " NOTE: This would remove all sarjitsu containerized components."
189223 cleanup_host_info
190224 cp $ES_CONF .example $ES_CONF
191225 cp $APP_CONF .example $APP_CONF
226+ cleanup_opt=1
192227 else
193- log " (CUSTOM INSTALL) using earlier set of IP addresses under sarjitsu.conf"
228+ log " (CUSTOM INSTALL) CONFIGURABLES: any/all of (Elastic, Grafana and Postgres)"
229+ log " (CUSTOM INSTALL) reusing IPs allotted to \$ CONFIGURABLES under sarjitsu.conf"
230+ log " NOTE: This would pole for containers already up & running, and relaunch missing pieces."
231+ cleanup_opt=0
194232 fi
195233 source $APP_CONF
196- cleanup_containers
234+ cleanup_containers $cleanup_opt
197235 main
198236}
199237
0 commit comments