#!/usr/bin/env bash


OPTIONAL_CONFIGS+=("CLEAN_DEPLOY")
OPTIONAL_CONFIGS+=("START_DEPLOY")

require_deploy_config
set_deploy_hosts

run() {
  authorize_hosts
  authorize_release_store_host
  authorize_deploy_hosts_on_release_store
  [[ "$RELEASE_CMD" = "mix" ]] && local _release_type="release_or_upgrade_with_release" || local _release_type="release"
  select_release_from_store "$_release_type"
  if  [[ "$RELEASE_CMD" = "mix" ]] && [[ "$RELEASE_FILE" =~ upgrade\.tar\.gz$ ]]; then
    upload_release_archive "${DELIVER_TO%%/}/${APP}"
  else
    upload_release_archive
  fi
  [[ "$CLEAN_DEPLOY" = "true" ]] && remote_clean_release_dir
  remote_extract_release_archive
  [[ "$START_DEPLOY" = "true" ]] && force_start_release
}
