#!/bin/bash -e

app=$1
ver=$2

if [ -z "$app" -o -z "$ver" ]; then
    echo "Usage: $0 <app> <ver>" 
    exit 1
fi

echo 'read first: https://wiki.yandex-team.ru/jeri/app-duty/releases/#vykladkareliza-java'
echo

cmd="direct-version-set $app $ver"
echo "Run cmd '$cmd' (y/n)?"
read -r answer
if [ x"$answer" = x"y" ]; then
    echo "Executing: '$cmd'"
    $cmd
else
    exit 0
fi
echo

cmd="dt-canary-deploy $app $ver --list"
echo "Run cmd '$cmd' (y/n)?"
read -r answer
if [ x"$answer" = x"y" ]; then
    echo "Executing: '$cmd'"
    $cmd
    hosts=$($cmd | grep '\.yandex\.')
    host=$(echo "$hosts" | head -n1)
else
    exit 0
fi
echo

echo "Use host '$host' for canary deploy? (y/<specify fqdn>)"
read -r answer
if [ x"$answer" != x"y" ]; then
    host="$answer"
    while ! echo "$hosts" | grep -q "$host"; do
        echo "Unknown host, specify fqdn from hostlist above"
        read -r host
    done
fi
echo

cmd="dt-canary-deploy $app $ver --host $host"
echo "Run cmd '$cmd' (y/n)?"
read -r answer
if [ x"$answer" = x"y" ]; then
    echo "Executing: '$cmd'"
    if $cmd ; then
        echo "Canary deploy successfully completed. Ready to start full deploy."
    else
        echo "Canary deploy failed, fix it first"
        exit 1
    fi
else
    exit 0
fi
echo

cmd="direct-java-deploy.pl $app $ver --prod"
echo "Run cmd '$cmd' (y/n)?"
read -r answer
if [ x"$answer" = x"y" ]; then
    echo "Executing: '$cmd'"
    $cmd
else
    exit 0
fi
echo
