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)
This commit is contained in:
Grant
2026-05-12 09:29:13 -05:00
commit ae8efa1754
19 changed files with 1500 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
FROM python:3.12-slim
RUN apt-get update \
&& apt-get install -y --no-install-recommends openssh-client curl ca-certificates \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY pyproject.toml /app/
COPY app /app/app
COPY entrypoint.sh /app/entrypoint.sh
RUN chmod +x /app/entrypoint.sh
# models.yaml is mounted in or copied at build via build-context root.
# For Docker, build from the repo root: `docker build -f image/Dockerfile .`
COPY models.yaml /app/models.yaml
RUN pip install --no-cache-dir -e .
ENV BIND_PORT=9999
EXPOSE 9999
ENTRYPOINT ["/app/entrypoint.sh"]