#!/bin/bash
if [ -z "$1" ]; then
    echo "Usage: $0 component-name [component-parameters-name=component-parameters-value ...]"
    exit 1
fi

# Create operator and gridwrapper with C3
if [ $1 = "create" ]; then
  if ! command -v c3_create_operator &> /dev/null; then
      echo "CLAIMED C3 not found. Install with 'pip install claimed-c3'"
      exit 1
  fi
  if [ $2 = "operator" ]; then
    c3_create_operator ${@:3}
  elif [ $2 = "gridwrapper" ]; then
    c3_create_gridwrapper ${@:3}
  else
    echo "C3 can only create 'operator' and 'gridwrapper'."
    exit 1
  fi
  exit 0
fi


image=$1
envs=""
shift
for var in "$@"
do
    envs="${envs} --env ${var}"
done

if [[ "$image" != */* ]]; then
  image=romeokienzler/$image
fi

if [[ "$image" != *:* ]]; then
  docker pull $image:latest
  image=$image:latest
fi

if [ -z ${CLAIMED_DATA_PATH+x} ]; then
  echo "CLAIMED_DATA_PATH variable not set, not mounting /data to the CLAIMED component"
  docker run -it $envs $image
else
  echo "CLAIMED_DATA_PATH variable is set, mounting $CLAIMED_DATA_PATH to /data"
  docker run -it $envs -u 1000 -v `echo $CLAIMED_DATA_PATH`:/opt/app-root/src/data $image
fi
