feat(WP-0004): railiance deployment & service ops
- Dockerfile (multi-stage, uv-based, slim runtime)
- .dockerignore
- docker-compose.railiance.yml (Temporal + NATS + PG, no Elasticsearch)
- GET /health endpoint (db + temporal probes, 200/503)
- .env.example (complete env var reference)
- Makefile: migrate, sync-all, dev-up/down, railiance-up/down,
start-worker, start-api, start-event-router, help targets;
extracted sync-event-types Python to scripts/sync_event_types.py
- SIGTERM graceful shutdown in worker.py and event_router.py
- docs/runbook.md: Railiance deployment section
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 00:04:39 +02:00
|
|
|
# Stage 1 — install Python deps
|
|
|
|
|
FROM python:3.12-slim AS builder
|
|
|
|
|
RUN pip install uv --no-cache-dir
|
|
|
|
|
WORKDIR /app
|
|
|
|
|
COPY pyproject.toml uv.lock ./
|
|
|
|
|
COPY src/ ./src/
|
|
|
|
|
RUN uv sync --no-dev --frozen
|
|
|
|
|
|
|
|
|
|
# Stage 2 — runtime image
|
|
|
|
|
FROM python:3.12-slim AS runtime
|
|
|
|
|
WORKDIR /app
|
|
|
|
|
COPY --from=builder /app/.venv /app/.venv
|
|
|
|
|
COPY --from=builder /app/src /app/src
|
2026-05-15 09:22:16 +02:00
|
|
|
COPY alembic.ini ./
|
|
|
|
|
COPY migrations/ ./migrations/
|
2026-05-22 13:49:46 +02:00
|
|
|
COPY scripts/ ./scripts/
|
feat(WP-0004): railiance deployment & service ops
- Dockerfile (multi-stage, uv-based, slim runtime)
- .dockerignore
- docker-compose.railiance.yml (Temporal + NATS + PG, no Elasticsearch)
- GET /health endpoint (db + temporal probes, 200/503)
- .env.example (complete env var reference)
- Makefile: migrate, sync-all, dev-up/down, railiance-up/down,
start-worker, start-api, start-event-router, help targets;
extracted sync-event-types Python to scripts/sync_event_types.py
- SIGTERM graceful shutdown in worker.py and event_router.py
- docs/runbook.md: Railiance deployment section
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 00:04:39 +02:00
|
|
|
COPY activity-definitions/ ./activity-definitions/
|
|
|
|
|
COPY event-types/ ./event-types/
|
|
|
|
|
COPY tasks/ ./tasks/
|
|
|
|
|
ENV PATH="/app/.venv/bin:$PATH"
|
|
|
|
|
ENV PYTHONPATH="/app/src"
|
|
|
|
|
CMD ["python", "-m", "activity_core.worker"]
|