Files
spark-control/image/entrypoint.sh
T
Grant ae8efa1754 Initial scaffold: image/ FastAPI app, models.yaml, docs
- 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)
2026-05-12 09:29:13 -05:00

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}"