#!/bin/sh # Build crossbar for hyperborea (arm64, static) on this machine and install it there as a # systemd --user unit. Run from anywhere inside the repo. Idempotent: re-running upgrades in place. set -eu HOST=${HOST:-hyperborea} DIR=/srv/crossbar cd "$(git rev-parse --show-toplevel)" out=$(mktemp -t crossbar-arm64.XXXXXX) trap 'rm -f "$out"' EXIT CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -trimpath -ldflags="-s -w" -o "$out" ./cmd/crossbar ssh "$HOST" "mkdir -p $DIR ~/.config/systemd/user" scp -q "$out" "$HOST:$DIR/crossbar.new" scp -q deploy/hyperborea/crossbar.toml "$HOST:$DIR/crossbar.toml" scp -q deploy/hyperborea/crossbar.service "$HOST:.config/systemd/user/crossbar.service" ssh "$HOST" "chmod 755 $DIR/crossbar.new && mv $DIR/crossbar.new $DIR/crossbar \ && systemctl --user daemon-reload && systemctl --user enable crossbar.service >/dev/null 2>&1 \ && systemctl --user restart crossbar.service && sleep 2 && systemctl --user is-active crossbar.service" echo "installed; hosts view:" curl -fsS "http://$HOST.scylla-hammerhead.ts.net:7777/_crossbar/hosts" echo