#!/usr/bin/env bash
set -e

SUBCMD=$1
PARAMS=${@:2}

export PANDIR=${PANDIR:-/var/panoptes}
export IMAGE="${IMAGE:-panoptes-pocs}"
export TAG="${TAG:-developer}"

cd "${PANDIR}"

## Add the daemon option by default.
if [[ "${SUBCMD}" == "up" ]]; then
  export CONTAINER_NAME="pocs-developer"
  export COMPOSE_FILE="${PANDIR}/POCS/docker/docker-compose-developer.yaml"
fi

# Pass any other cli args to the containers as an env var named CLI_ARGS
CLI_ARGS=("${@:2}")

# We use a docker container for docker-compose, so we need to pass the env vars to
# that container so it can properly place them in the docker-compose file.
export DOCKER_RUN_OPTIONS="${DOCKER_RUN_OPTIONS:--e IMAGE=${IMAGE} -e TAG=${TAG} -e CONTAINER_NAME=${CONTAINER_NAME} -e CLI_ARGS=\"${CLI_ARGS}\"}"

# Run the docker-compose command with user params.
eval "DOCKER_RUN_OPTIONS=\"${DOCKER_RUN_OPTIONS}\" \
        docker-compose \
        --project-directory ${PANDIR} \
        -f ${COMPOSE_FILE} \
        -p panoptes \
        ${SUBCMD} \
        ${PARAMS}"
