#!/usr/bin/env bash # Push the built binaries and dashboard to both SDP VMs. # # 92 (micro): ~/SDP/agent-micro # 186 (gateway): ~/SDP/control-plane, ~/SDP/agent-gateway, ~/SDP/dashboard # # On 186 we also splice the SDP location into nginx's existing default site # and reload. Run scripts/build.sh first. set -euo pipefail cd "$(dirname "$0")/.." REPO_ROOT="$(pwd)" # ponytail: paths can be overridden by env so the same script works from CI. HOST_92="${SDP_92_HOST:-administrator@172.18.136.92}" PASS_92="${SDP_92_PASS:-password}" HOST_186="${SDP_186_HOST:-administrator@172.18.139.186}" PASS_186="${SDP_186_PASS:-Bre@kthrough2312}" if ! command -v sshpass >/dev/null 2>&1; then echo "sshpass not found. Install with: brew install sshpass" >&2 exit 1 fi SSH_92="sshpass -p $PASS_92 ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=ERROR" SCP_92="sshpass -p $PASS_92 scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=ERROR" SSH_186="sshpass -p $PASS_186 ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=ERROR" SCP_186="sshpass -p $PASS_186 scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=ERROR" # ponytail: Wipe-and-replace. The deploys are stateful on the VM only via # SQLite + .log files in ~/SDP/data — we keep that. Binaries and the # dashboard are replaced cleanly. REMOTE_RESET='rm -rf ~/SDP/bin ~/SDP/dashboard && mkdir -p ~/SDP/bin ~/SDP/dashboard' echo "==> 92: $HOST_92" $SSH_92 "$HOST_92" "$REMOTE_RESET" $SCP_92 "$REPO_ROOT/bin/agent-micro" "$HOST_92:~/SDP/bin/agent-micro" $SSH_92 "$HOST_92" "chmod +x ~/SDP/bin/agent-micro" echo " agent-micro copied" echo echo "==> 186: $HOST_186" $SSH_186 "$HOST_186" "$REMOTE_RESET" $SCP_186 "$REPO_ROOT/bin/control-plane" "$HOST_186:~/SDP/bin/control-plane" $SCP_186 "$REPO_ROOT/bin/agent-gateway" "$HOST_186:~/SDP/bin/agent-gateway" $SCP_186 -r "$REPO_ROOT/dashboard/out/." "$HOST_186:~/SDP/dashboard/" $SSH_186 "$HOST_186" "chmod +x ~/SDP/bin/control-plane ~/SDP/bin/agent-gateway" echo " control-plane, agent-gateway, dashboard copied" # Patch nginx on 186 echo echo "==> 186: patching nginx" "$REPO_ROOT/scripts/patch-nginx.sh" echo echo "done."