b6b09a5ffd9062ede799920e574153a562c4ebe9
[modeling/etsicatalog.git] / docker / docker-entrypoint.sh
1 #!/bin/bash
2
3 if [ -z "$SERVICE_IP" ]; then
4     export SERVICE_IP=`hostname -i`
5 fi
6 echo "SERVICE_IP=$SERVICE_IP"
7
8 if [ -z "$MSB_ADDR" ]; then
9     echo "Missing required variable MSB_ADDR: Microservices Service Bus address <ip>:<port>"
10     exit 1
11 fi
12 echo "MSB_ADDR=$MSB_ADDR"
13
14 if [ -z "$MYSQL_ADDR" ]; then
15     echo "Missing required variable MYSQL_ADDR: <ip>:<port>"
16     exit 1
17 fi
18 echo "MYSQL_ADDR=$MYSQL_ADDR"
19
20 # Wait for MSB initialization
21 echo "Wait for MSB initialization"
22 for i in {1..5}; do
23     curl -sS -m 1 $MSB_ADDR > /dev/null && break
24     sleep $i
25 done
26
27 # Wait for DB initialization
28 echo "Wait for DB initialization"
29 for i in {1..5}; do
30     curl -sS -m 1 $MYSQL_ADDR > /dev/null && break
31     sleep $i
32 done
33
34 # Configure service based on docker environment variables
35 modeling/etsicatalog/docker/instance_config.sh
36
37 # microservice-specific one-time initialization
38 modeling/etsicatalog/docker/instance_init.sh
39
40 date > init.log
41
42 # Start the microservice
43 modeling/etsicatalog/docker/instance_run.sh