ae8efa1754
- image/ FastAPI app: /api/status, /api/swap, /api/swap/{id}/stream, /api/test-connection
- models.yaml: 5-model catalog (qwen3-vl, gemma4, qwen36, qwen3-235b-fp8, qwen25-72b)
- README, runbook, known-issues
- Dry-run swap verified against live Spark 1 (gemma4 currently loaded)
21 lines
705 B
Bash
21 lines
705 B
Bash
#!/bin/sh
|
|
set -eu
|
|
|
|
# Persist ssh state on the StartOS volume (mounted at /data when packaged).
|
|
SSH_DIR="${SSH_DIR:-/data/ssh}"
|
|
mkdir -p "$SSH_DIR"
|
|
chmod 700 "$SSH_DIR"
|
|
|
|
if [ ! -f "$SSH_DIR/id_ed25519" ]; then
|
|
echo "[entrypoint] Generating ed25519 keypair for SSH to Sparks..."
|
|
ssh-keygen -t ed25519 -N "" -f "$SSH_DIR/id_ed25519" -C "spark-control@start9" >/dev/null
|
|
fi
|
|
chmod 600 "$SSH_DIR/id_ed25519"
|
|
chmod 644 "$SSH_DIR/id_ed25519.pub"
|
|
touch "$SSH_DIR/known_hosts" && chmod 600 "$SSH_DIR/known_hosts"
|
|
|
|
export SSH_KEY_PATH="${SSH_KEY_PATH:-$SSH_DIR/id_ed25519}"
|
|
export SSH_KNOWN_HOSTS="${SSH_KNOWN_HOSTS:-$SSH_DIR/known_hosts}"
|
|
|
|
exec uvicorn app.server:app --host 0.0.0.0 --port "${BIND_PORT:-9999}"
|