#!/bin/bash


VERSION="${1:-latest}"

if [[ -f "${USER}"-env.sh ]]; then
    echo "Found local env script, loading..."
    source "${USER}"-env.sh
fi

echo "Tagging container version: $VERSION"

docker build -t zrok-cloud:"$VERSION" ./ --build-arg IMG_TAG="$VERSION" --no-cache

echo $ZROK_COMMAND

if [[ $ZROK_COMMAND == "http" ]]; then
#
docker run -p 8080:8080 -p 8181:8181 \
-e ZROK_COMMAND="${ZROK_COMMAND}" \
-e ZROK_ZITI_IDENTITY_JSON="${ZROK_ZITI_IDENTITY_JSON}" \
-e ZROK_FRONTEND_HOST_MATCH="${ZROK_FRONTEND_HOST_MATCH}" \
-e ZROK_OATH_BIND_ADDRESS="${ZROK_REDIRECT_HOST}" \
-e ZROK_HASH_KEY="${ZROK_HASH_KEY}" \
-e ZROK_GOOGLE_CLIENTID="${ZROK_GOOGLE_CLIENTID}" \
-e ZROK_GOOGLE_CLIENTSECRET="${ZROK_GOOGLE_CLIENTSECRET}" \
-e ZROK_GITHUB_CLIENTID="${ZROK_GITHUB_CLIENTID}" \
-e ZROK_GITHUB_CLIENTSECRET="${ZROK_GITHUB_CLIENTSECRET}" \
zrok-cloud:"$VERSION"

fi

if [[ $ZROK_COMMAND == "dynamicProxy" ]];
#
docker run -p 8080:8080 \
-e ZROK_COMMAND="${ZROK_COMMAND}" \
-e ZROK_ZITI_IDENTITY_JSON="${ZROK_ZITI_IDENTITY_JSON}" \
-e ZROK_FRONTEND_TOKEN="${ZROK_FRONTEND_TOKEN}" \
-e ZROK_AMQP_URL="${ZROK_AMQP_URL}" \
netfoundry/zrok-cloud:"$VERSION"

fi

if [[ $ZROK_COMMAND == "ctrl" ]];

docker run -p 8080:8080 \
-e ZROK_ADMIN_SECRET="${ZROK_ADMIN_SECRET}" \
-e ZROK_EMAIL_USERNAME="${ZROK_EMAIL_USERNAME}" \
-e ZROK_EMAIL_PASSWORD="${ZROK_EMAIL_PASSWORD}" \
-e ZROK_METRICS_AGENT_SOURCE_URL="${ZROK_METRICS_AGENT_SOURCE_URL}" \
-e ZROK_METRICS_INFLUX_URL="${ZROK_METRICS_INFLUX_URL}" \
-e ZROK_METRICS_INFLUX_TOKEN="${ZROK_METRICS_INFLUX_TOKEN}" \
-e ZROK_STORE_PATH="${ZROK_STORE_PATH}" \
-e ZROK_ZITI_API_ENDPOINT="${ZROK_ZITI_API_ENDPOINT}" \
-e ZROK_ZITI_USERNAME="${ZROK_ZITI_USERNAME}" \
-e ZROK_ZITI_PASSWORD="${ZROK_ZITI_PASSWORD}" \
-e ZROK_COMMAND="${ZROK_COMMAND}" \
-e ZROK_DYNAMIC_PROXY_CONTROLLER_AMQP_URL="${ZROK_DYNAMIC_PROXY_CONTROLLER_AMQP_URL}" \
-e ZROK_DYNAMIC_PROXY_CONTROLLER_ZITI_IDENTITY_JSON="${ZROK_DYNAMIC_PROXY_CONTROLLER_ZITI_IDENTITY_JSON}" \
-e ZROK_ZITI_IDENTITY_JSON="${ZROK_ZITI_IDENTITY_JSON}" \
-e PFXLOG_NO_JSON=true \
netfoundry/zrok-cloud:"$VERSION"

fi
