#!/bin/bash set -e MISTBORN_HOME="/opt/mistborn" SERVICES="$1" shift IFS=',' read -ra SERVICES_ARRAY <<< "${SERVICES}" for SERVICE in "${SERVICES_ARRAY[@]}"; do MISTBORN_SERVICE_FILE=${MISTBORN_HOME}/.envs/.production/.${SERVICE} MISTBORN_SERVICE_INIT=${MISTBORN_HOME}/scripts/services/${SERVICE}/init.sh # check and create file if needed ${MISTBORN_HOME}/scripts/env/check_env_file.sh ${SERVICE} # read in variables set -a source ${MISTBORN_HOME}/.env if [[ -f "${MISTBORN_SERVICE_FILE}" ]]; then echo "Loading service variables" source ${MISTBORN_SERVICE_FILE} else echo "No service variables to load. Proceeding." fi set +a # init script if [[ -f "${MISTBORN_SERVICE_INIT}" ]]; then echo "Running init script" ${MISTBORN_SERVICE_INIT} else echo "No init script. Proceeding." fi done # ensure base is up and listening echo "Checking that Mistborn-base has finished starting up..." while ! nc -z 10.2.3.1 5000; do WAIT_TIME=$((5 + $RANDOM % 15)) echo "Waiting ${WAIT_TIME} seconds for Mistborn-base..." sleep ${WAIT_TIME} done echo "Mistborn-base is running" exec "$@"