#!/usr/bin/env bash
# Docker entrypoint command

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" > /dev/null && pwd)"

# Set the GCP credentials environment variable
. ${SCRIPT_DIR}/set_google_creds.sh
# Set the database credentials environment variable
. ${SCRIPT_DIR}/set_database_creds.sh
# Set the SpotifyAPI credentials environment variable
. ${SCRIPT_DIR}/set_spotify_api_creds.sh

# Defaults with option to override
JAVA_MAX_RAM_PCT="${JAVA_MAX_RAM_PCT:-75}"

JAVA_ARGS=()
JAVA_ARGS+=("-XX:+UseContainerSupport")
JAVA_ARGS+=("-XX:MaxRAMPercentage=${JAVA_MAX_RAM_PCT}")

if [[ "${DATADOG_TRACE_ENABLED}" = "true" ]];
then
	JAVA_ARGS+=("-Ddd.logs.injection=${DD_LOGS_INJECTION:-true}")
	JAVA_ARGS+=("-javaagent:/app/dd-java-agent.jar")
fi
if [[ "${ENABLE_JMX}" = "true" ]];
then
  JAVA_ARGS+=("-Dcom.sun.management.jmxremote")
  JAVA_ARGS+=("-Djava.net.preferIPv4Stack=true")
  JAVA_ARGS+=("-Dcom.sun.management.jmxremote.ssl=false")
  JAVA_ARGS+=("-Dcom.sun.management.jmxremote.authenticate=false")
  JAVA_ARGS+=("-Dcom.sun.management.jmxremote.port=9012")
  JAVA_ARGS+=("-Dcom.sun.management.jmxremote.rmi.port=9012")
  JAVA_ARGS+=("-Dcom.sun.management.jmxremote.local.only=false")
  JAVA_ARGS+=("-Djava.rmi.server.hostname=127.0.0.1")
fi
JAVA_ARGS+=("-noverify")
JAVA_ARGS+=("-Dspring.jmx.enabled=true")

java ${JAVA_ARGS[@]} -jar /app/delphi-api-service.jar io.delphiplatform.DelphiApplication
