#!/bin/bash -eu

echo ".: BEGIN $0 rev ${BITBUCKET_COMMIT:-undefined} :."

# fail early if the required env var for AWS auth is empty or not defined
[[ ! -z ${INTERNAL_AWS_ACCESS_KEY_ID:+true} ]] || {
  echo "ERROR: got empty or unset trying to get INTERNAL_AWS_ACCESS_KEY_ID from environment (e.g. task definition container_environment"
  exit 1
}

# export AUTH0_CLIENT_ID_FOR_AUTHORIZATION=$(aws ssm get-parameters --names "/auth0/auth-service/client-id" --query "Parameters[0].Value" | tr -d '"')
[[ ! -z ${AUTH0_CLIENT_ID_FOR_AUTHORIZATION:+true} ]] || {
  echo "ERROR: got empty or unset trying to set AUTH0_CLIENT_ID_FOR_AUTHORIZATION from AWS SSM Parameter Store"
  exit 2
}

# export AUTH0_CLIENT_SECRET_FOR_AUTHORIZATION=$(aws secretsmanager get-secret-value --secret-id auth-service-client-secret --query "SecretString" | tr -d '"')
[[ ! -z ${AUTH0_CLIENT_SECRET_FOR_AUTHORIZATION:+true} ]] || {
  echo "ERROR: got empty or unset trying to set AUTH0_CLIENT_SECRET_FOR_AUTHORIZATION from AWS SSM Parameter Store"
  exit 3
}

# put the internal AWS credential in a var (principal is in container env)
# export INTERNAL_AWS_SECRET_ACCESS_KEY=$(credstash get internal_aws_secret_access_key)
[[ ! -z ${INTERNAL_AWS_SECRET_ACCESS_KEY:+true} ]] || {
  echo "ERROR: got empty or unset trying to set INTERNAL_AWS_SECRET_ACCESS_KEY"
  exit 4
}

#[[ ! -z ${MYSQL_PASS:+true} ]] || {
  #export MYSQL_PASS=$(credstash get mysql_pass_permission_server)
#  export MYSQL_PASS=$(aws secretsmanager get-secret-value --secret-id mysql_pass_permission_server --query SecretString)
  [[ ! -z ${MYSQL_PASS:+true} ]] || {
    echo "ERROR: got empty or unset trying to set MYSQL_PASS from secretsmanager"
    exit 1
  }
#}

# set the basic auth password for config-service clients
#[[ ! -z ${SPRING_CLOUD_CONFIG_PASSWORD:+true} ]] || {
#  echo "INFO: getting SPRING_CLOUD_CONFIG_PASSWORD from credential store"
#  export SPRING_CLOUD_CONFIG_PASSWORD=$(credstash get spring_security_user_password)
#}
exec "$@"
