TAG="$1"
REPO_NAME="dev-$USER-fibcow"

AWS_ACCOUNT_ID=103233932089
AWS_REGION=us-east-1

if [ -z "$1" ]; then
    echo '$1 - must be set as tag version'
    exit 1
fi

set -x

# create repo if not exists in AWS
aws ecr describe-repositories --repository-names $REPO_NAME
if [ $? -ne 0 ]; then
    aws ecr create-repository --repository-name $REPO_NAME --image-scanning-configuration scanOnPush=true
fi

set -e

# login docker client for AWS
aws ecr get-login-password --region $AWS_REGION | docker login --username AWS --password-stdin $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com

# build image with tag
docker build --build-arg version=$TAG -t $REPO_NAME:$TAG .

# tag image for repo, upload to ecr
docker tag $REPO_NAME:$TAG $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/$REPO_NAME:$TAG
docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/$REPO_NAME:$TAG

# tag same image as latest, upload to ecr
docker tag $REPO_NAME:$TAG $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/$REPO_NAME:latest
docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/$REPO_NAME:latest

# list images and tags in repo
aws ecr list-images --repository-name $REPO_NAME
