#!/bin/bash -e

[[ "$1" == "--sudo" ]] && prefix="sudo " && shift
[[ "$1" == "--password" ]] && shift && prefix="echo \"$1\" | sudo -S true && sudo " && shift

target=$1
[ "$target" ] || echo "Please, provide an ssh target"
shift

[ "$DEBUG" ] && debug="-x"

kickstart compile "$@"

copy_command=$(
cat <<CMD
{
  deploy_folder=\$(mktemp -d -t kickstart.XXXXX)
  mkdir -p "\$deploy_folder"
  cd "\$deploy_folder"
  tar xz
  echo "\$deploy_folder"
}
CMD
)
deploy_folder=$(tar chz -C compile . | ssh $target "bash -c '$copy_command'")

execute_command=$(
cat <<CMD
{
  cd $deploy_folder
  exit_status=0
  $prefix bash $debug install.sh || exit_status=\$?
  rm -rf "$deploy_folder"
  exit \$exit_status
}
CMD
)
ssh -t $target "bash -c '$execute_command'"
