#!/usr/bin/env bash

# Configure shell.
set -e

# User-friendly print wrapper.
log() {
  printf '[%s] [%s] %s\n' "${0##*/}" "$( date '+%Y-%m-%dT%H:%M:%S' )" "${@}"
}

# Deploy dev configuration for local env.
if [[ "${Environment}" == "local" ]]; then
  if [[ -f /app/application-dev.yml ]]; then
    log 'Using configuration from application-dev.yml'
    cp /app/application-dev.yml /app/application.yml
  fi
fi

# Deploy configuration specified in the environment variable.
if [[ "${AKHQ_CONFIGURATION}" != '' ]]; then
  log 'Deploying configuration from env AKHQ_CONFIGURATION'
  echo "${AKHQ_CONFIGURATION}" > /app/application.yml
fi

# Fill in environment variables in the config.
if [[ -f /app/application.yml ]]; then
  log 'Filling configuration with env'
  # Suppress sensitive output.
  set +x

  TEMP_FILE=$( mktemp )
  cat /app/application.yml | envsubst > "${TEMP_FILE}"
  mv "${TEMP_FILE}" /app/application.yml
fi

log 'Launching AKHQ'
exec '/app/akhq'
