
cd envoy
CERTS_PATH=p81-$ENV_NAME-env-files-qa/yarkon/yarkon-gw-certs/
DOMAIN_NAME=p81-leia.com
echo "Validating variables"
[ -z "${ENV_NAME}" ] && echo "First parameter should be ENVIRONMENT NAME: luke | leia | yoda" && exit 1 || export ENV=$ENV_NAME
[ -z "${CERTS_PATH}" ] && echo "Second parameter should be S3 path to certs folder: Bucket-name/myfolder/certs" && exit 1
[ -z "${LISTENER_PORT}" ] && echo "Default LISTENER_PORT is assigned: 50051" && LISTENER_PORT=50051 || export LISTENER_PORT=$LISTENER_PORT
[ -z "${FORWARD_PORT}" ] && echo "Default FORWARD_PORT is assigned: 6677" && FORWARD_PORT=6677 || export FORWARD_PORT=$FORWARD_PORT
[ -z "${DOMAIN_NAME}" ] && echo "Domain name should be in build parameters" && exit 1 || export DOMAIN=$DOMAIN_NAME

echo "End Vars:"
echo "LISTENER_PORT=$LISTENER_PORT"
echo "FORWARD_PORT=$FORWARD_PORT"
echo "ENV=$ENV_NAME"
echo "DOMAIN=$DOMAIN"

tag=grpc_envoy:$ENV_NAME
account=540530651831
region=us-east-1
ecr_repo=${account}.dkr.ecr.${region}.amazonaws.com
REPLACE=mtls.yaml.tpl
envsubst < $REPLACE > mtls.yaml
echo "Creating certs"
ls -la
mkdir -p certs/
echo "Downloading certificates."
aws s3 cp s3://$CERTS_PATH certs/ --recursive
ls -la
echo "Authenticating to ECR"
aws ecr get-login-password --region ${region} | docker login --username AWS --password-stdin ${ecr_repo}
echo "Building Image"
docker build --no-cache -t ${tag} .
echo "Tagging Image to ECR repo"
docker tag ${tag} ${ecr_repo}/${tag}
echo "Pushing Image to ECR repo: ${ecr_repo}"
docker push ${ecr_repo}/${tag}