#!/bin/bash destination= domain= master= secret= while (( $# > 0 )); do case "$1" in --dest*) destination="$2" shift ;; --domain) domain="$2" shift ;; --master) master="$2" shift ;; --secret) secret="$2" shift ;; *) echo "WAAAAT? NO MAHNEEY?" exit 1 esac shift done if ! [[ $destination =~ ^[a-z0-9_]+@[a-z0-9_.-]+$ ]] \ || [ -z "$domain" ] \ || [ -z "$secret" ] \ || ! [[ "$master" =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then echo "Usage: $0 --dest user@4.5.6.7 --domain foo.bar.example.com --master 1.2.3.4 --secret your_master_secret" exit 1 fi if [[ $destination == root@* ]]; then sudo= else echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++" echo "Using sudo on the remote server to gain root privs..." sudo="sudo " fi echo if ! ssh "$destination" "$sudo rm -rf -- /tmp/shib_deploy"; then echo "Remote access for preparation failed :-(" exit 1 fi if ! scp -r "$( dirname -- "${BASH_SOURCE[0]}" )/remote" "${destination}:/tmp/shib_deploy"; then echo "Copying data to $destination failed" exit 1 fi if ! ssh "$destination" "$sudo /tmp/shib_deploy/install.sh --domain '$domain' --master '$master' --secret '$secret'"; then echo "Remote install failed :-(" exit 1 fi echo "------------------------------------------------------" echo echo "Success" echo echo echo "Remember to make sure the new R/O instance's IP address" echo "is allowed to pull the data from $master, and added to" echo "the trusted proxy IP addresses." echo "(RemoteIPInternalProxy)" echo