#!/usr/bin/env bash
set -euo pipefail
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
LOG_DIR="$ROOT/logs"
mkdir -p "$LOG_DIR"
SUP_LOG="$LOG_DIR/gateway-supervisor.log"
SERVER_LOG="$LOG_DIR/gateway-server.log"
echo "[$(date -Is)] supervisor starting" >> "$SUP_LOG"
while true; do
  echo "[$(date -Is)] starting gateway" >> "$SUP_LOG"
  if "$ROOT/run-gateway.sh" >> "$SERVER_LOG" 2>&1; then
    code=0
  else
    code=$?
  fi
  echo "[$(date -Is)] gateway exited code=$code; restarting in 2s" >> "$SUP_LOG"
  sleep 2
done
