Stabilize control surface and external bridge v1

This commit is contained in:
jan
2026-04-20 01:13:27 +02:00
parent a56cecb23d
commit 07c52db5fb
29 changed files with 8818 additions and 1510 deletions

View File

@@ -0,0 +1,49 @@
#!/usr/bin/env bash
set -euo pipefail
REPO_DIR="/home/jan/Documents/RFP/Infinity_Vis_Rust"
APP_URL="http://127.0.0.1:9001/"
STATE_URL="http://127.0.0.1:9001/api/v1/state"
RUNTIME_STATE_PATH="data/runtime_state.json"
open_browser() {
xdg-open "$APP_URL" >/dev/null 2>&1 &
}
if curl -fsS "$STATE_URL" >/dev/null 2>&1; then
echo "Infinity Vis laeuft bereits auf $APP_URL"
open_browser
exit 0
fi
cd "$REPO_DIR"
. "$HOME/.cargo/env"
echo "Starte infinity_host_api auf $APP_URL"
cargo run -p infinity_host_api -- \
--config config/project.example.toml \
--bind 127.0.0.1:9001 \
--runtime-state "$RUNTIME_STATE_PATH" &
SERVER_PID=$!
cleanup() {
if kill -0 "$SERVER_PID" >/dev/null 2>&1; then
kill "$SERVER_PID" >/dev/null 2>&1 || true
wait "$SERVER_PID" >/dev/null 2>&1 || true
fi
}
trap cleanup EXIT INT TERM
for _attempt in $(seq 1 60); do
if curl -fsS "$STATE_URL" >/dev/null 2>&1; then
echo "Infinity Vis ist bereit."
open_browser
wait "$SERVER_PID"
exit $?
fi
sleep 0.5
done
echo "Der lokale API-Server wurde nicht rechtzeitig erreichbar."
wait "$SERVER_PID"