#!/bin/bash

usage() {
    me=`basename "$0"`
    echo >&2 "Usage: $me [--help] [--update-latest] [--registry REGISTRY] [--org ORGANIZATION] --tag TAG [IMAGE]"
    exit 1
}

UPDATE_LATEST=false
ORGANIZATION=k8sgerrit

while test $# -gt 0 ; do
  case "$1" in
  --help)
    usage
    ;;
  --update-latest)
    UPDATE_LATEST=true
    shift
    ;;
  --registry)
    shift
    REGISTRY=$1
    shift
    ;;
  --org)
    shift
    ORGANIZATION=$1
    shift
    ;;
  --tag)
    shift
    TAG=$1
    shift
    ;;
  *)
    break
  esac
done

if test -z "$TAG"; then
  echo "No tag was provided."
  echo "Use either the --tag option or provide a TAG-environment variable."
  usage
fi

#Get list of images
source container-images/publish_list
IMAGES=$(get_image_list)

test -n "$REGISTRY" && [[ "$REGISTRY" != */ ]] && REGISTRY="$REGISTRY/"

publish_image(){
  IMAGE=$1
  if test "$UPDATE_LATEST" = "true" ; then
    docker image tag k8sgerrit/$IMAGE:$TAG ${REGISTRY}${ORGANIZATION}/$IMAGE:latest
    docker push ${REGISTRY}${ORGANIZATION}/$IMAGE:latest
  fi

  docker image tag k8sgerrit/$IMAGE:$TAG ${REGISTRY}${ORGANIZATION}/$IMAGE:$TAG
  docker push ${REGISTRY}${ORGANIZATION}/$IMAGE:$TAG
}

if test $# -eq 0 ; then
  for IMAGE in $IMAGES; do
    publish_image $IMAGE
  done
else
  while test $# -gt 0 ; do
    publish_image $1
    shift
  done
fi
