#!/usr/bin/env bash

# set -e: if error then stop ; set -u: if no variable then stop;
# set -x: output command; set -o pipefail: if pipe error then stop;
set -euo pipefail
set -x
ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text)
REGION="${REGION:-$AWS_REGION}"
ECR_REGISTRY="${ACCOUNT_ID}.dkr.ecr.${REGION}.amazonaws.com"
ECR_REPO=${ECR_REPO:-dbaas/infra-api/infra-provider}
if ! aws ecr describe-repositories --repository-name ${ECR_REPO} >/dev/null 2>&1
then
    aws ecr create-repository --repository-name ${ECR_REPO}
fi
aws ecr get-login-password --region ${REGION} | docker login --username AWS --password-stdin ${ECR_REGISTRY}
trap "docker logout https://${ECR_REGISTRY}" EXIT

echo "TAG_NAME: ${TAG_NAME:-}, GIT_COMMIT: ${GIT_COMMIT:-}"

IMG="${ECR_REGISTRY}/${ECR_REPO}:${TAG_NAME:-$GIT_COMMIT}"
docker tag $1 ${IMG}
docker push ${IMG}

echo "${IMG} pushed"
