verae-bootstrap/types/ns1-all-in-one/start.sh

41 lines
1.6 KiB
Bash
Executable file

#!/usr/bin/env bash
# Start HTTP control plane on NS1. Archive workers stay with verae-keep.
# Does not rewrite fleet.json / machines.json — use overlays/ns1/.
set -euo pipefail
STACK="${VERAE_STACK:-$HOME/verae-stack}"
FLEET="$STACK/packages/verae-fleet"
EDGE_PORT="${EDGE_PORT:-13000}"
export STAFF_IAM_URL="${STAFF_IAM_URL:-https://iam.zapier.georgelambert.org}"
export STAFF_COOKIE_DOMAIN="${STAFF_COOKIE_DOMAIN:-.zapier.georgelambert.org}"
export NATS_URL="${NATS_URL:-nats://10.10.10.21:4222,nats://10.10.10.22:4222,nats://10.10.10.23:4222}"
export JETSTREAM_REPLICAS="${JETSTREAM_REPLICAS:-3}"
export FLEET_ENABLE_LAN134="${FLEET_ENABLE_LAN134:-}"
export FLEET_FILE="${FLEET_FILE:-$FLEET/overlays/ns1/fleet.json}"
export FLEET_MACHINES="${FLEET_MACHINES:-$FLEET/overlays/ns1/machines.json}"
test -d "$FLEET" || { echo "missing $FLEET" >&2; exit 1; }
test -f "$FLEET_FILE" || { echo "missing $FLEET_FILE" >&2; exit 1; }
cd "$FLEET"
if curl -sf http://127.0.0.1:3850/health >/dev/null; then
echo "fleet already up"
exit 0
fi
nohup env \
STAFF_IAM_URL="$STAFF_IAM_URL" \
STAFF_COOKIE_DOMAIN="$STAFF_COOKIE_DOMAIN" \
NATS_URL="$NATS_URL" \
FLEET_FILE="$FLEET_FILE" \
FLEET_MACHINES="$FLEET_MACHINES" \
FLEET_ENABLE_LAN134="$FLEET_ENABLE_LAN134" \
node src/cli.js serve \
>/tmp/verae-fleet-serve.out 2>&1 &
echo "fleet pid $!"
for i in $(seq 1 40); do
if curl -sf http://127.0.0.1:3850/health >/dev/null; then
echo "fleet up (overlay $FLEET_FILE)"
exit 0
fi
sleep 0.5
done
echo "fleet did not become healthy; see /tmp/verae-fleet-serve.out" >&2
exit 1