#!/usr/bin/env sh
set +e

waitForService()
{
    wait-for-it.sh $1 -t 2 1>/dev/null 2>&1
    status=$?
    while [ $status != 0 ]
    do
        echo "[x] wating for $1..."
        sleep 1
        wait-for-it.sh $1 -t 2 1>/dev/null 2>&1
        status=$?
    done
}

update-resolv # provided by stack - better approach - single copy
update-ca-certificates

waitForService "api-registry:8501"
waitForService "api-eventbus:5672"
waitForService "api-logger:24224"
waitForService "db-postgres:5432"
waitForService "basket-svc:443"

register-service

# run migrations
migrate.sh

# set -euo pipefail

exec "$@"