#!/bin/bash

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

UPDATE_LATEST=false
ORGANIZATION=k8sgerrit
PUSH_IMAGES=true

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
    ;;
  --no-push)
    PUSH_IMAGES=false
    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
    if test "$PUSH_IMAGES" = "true" ; then
      docker push "${REGISTRY}${ORGANIZATION}/$IMAGE:latest"
    fi
  fi

  docker image tag k8sgerrit/$IMAGE:$TAG ${REGISTRY}${ORGANIZATION}/$IMAGE:$TAG
  if test "$PUSH_IMAGES" = "true" ; then
    docker push "${REGISTRY}${ORGANIZATION}/$IMAGE:$TAG"
  fi
}

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
