#!/usr/bin/env bash # Despliega el nodo de Origin Chain en la rp1 desde el Mac (Charon, 2026-10-24). # # scripts/rp1/desplegar.sh # # - Copia el binario a ~/origin-chain/bin y deja el anterior como .anterior (volver atrás: # mv .anterior encima y matar el pid; el vigilante lo rearranca). # - Copia arrancar.sh y medir.sh, e instala en el crontab del usuario (sin root): # @reboot y cada 5 min arrancar.sh (vigilante); cada 5 min medir.sh. # - No toca nada fuera de ~/origin-chain ni el crontab de otras entradas. set -euo pipefail BIN="${1:?ruta al binario aarch64}" HOST="${ORIGIN_RP1:-rp1}" DIR="$(cd "$(dirname "$0")" && pwd)" file "$BIN" | grep -q "ARM aarch64" || { echo "no es un binario aarch64: $BIN"; exit 1; } SHA=$(shasum -a 256 "$BIN" | cut -d' ' -f1) ssh "$HOST" 'mkdir -p ~/origin-chain/bin ~/origin-chain/logs && { [ -f ~/origin-chain/bin/origin-chain-node ] && cp -p ~/origin-chain/bin/origin-chain-node ~/origin-chain/bin/origin-chain-node.anterior || true; }' scp -q "$BIN" "$HOST:origin-chain/bin/origin-chain-node.nuevo" scp -q "$DIR/arrancar.sh" "$DIR/medir.sh" "$HOST:origin-chain/" ssh "$HOST" "set -e; cd ~/origin-chain echo '$SHA bin/origin-chain-node.nuevo' | sha256sum -c --quiet mv bin/origin-chain-node.nuevo bin/origin-chain-node; chmod +x bin/origin-chain-node arrancar.sh medir.sh echo '$SHA' > bin/origin-chain-node.sha256 # || true: con set -e, el grep -v sobre un crontab vacío sale 1 y abortaba la subshell # ANTES de los echo, así que se instalaba un crontab VACÍO sin ningún error (medido el 24-oct). ( { crontab -l 2>/dev/null | grep -v 'origin-chain/' || true; } ; \ echo '@reboot \$HOME/origin-chain/arrancar.sh'; \ echo '*/5 * * * * \$HOME/origin-chain/arrancar.sh'; \ echo '*/5 * * * * \$HOME/origin-chain/medir.sh' ) | crontab - bin/origin-chain-node version | head -3" echo "desplegado en $HOST: sha256 $SHA"