#!/usr/bin/env bash

set -o errexit
set -o nounset
set -o pipefail

ROOT=$(cd $(dirname "${BASH_SOURCE[0]}")/..; pwd -P)

source $ROOT/hack/lib/vars.sh
source $ROOT/hack/lib/image.sh

PULUMI=${PULUMI:-"$ROOT/bin/pulumi"}
STACK=${STACK:-"dev"}
BRANCH_NAME=${BRANCH_NAME:-""}

update-image() {
    local targets=${1}
    for target in $targets; do
        local version=${VAR_IMG_VERSION}

        if [ "$STACK" == "staging" ]; then
            version=${BRANCH_NAME}-${VAR_IMG_VERSION}
        elif [ "$STACK" == "prod" ]; then
            version=${BRANCH_NAME}
        fi

        lib::image::get_image image $target $version

        $PULUMI stack select ${STACK} \
            --create \
            -C $ROOT/cd/projects/$target
        $PULUMI config set \
            image ${image} \
            --stack ${STACK} \
            -C ${ROOT}/cd/projects/$target
    done
}

update-image ${@}

