turnstone/harvester/Dockerfile
pyr0ball ed0a4bb469 feat: Alpha milestone — corpus management, upload ingest, harvester agent
Closes #1 (incident tagging — already implemented), #2, #3, #5.

- feat(api): DELETE /api/sources/{id} — purge entries + FTS rows for a source
- feat(api): POST /api/sources/{id}/ingest — re-ingest from sources.yaml
- feat(api): POST /api/ingest/upload — multipart log file upload with auto-detect
- feat(ui): SourcesView reingest + delete buttons and upload file input (#2)
- feat(harvester): harvester.py push + incident subcommands (#5)
- feat(harvester): Dockerfile, docker-compose.yml, harvester.sh (containerless)
- feat(config): GPU_SERVER_URL → CF_ORCH_URL resolution + write-back (#20)
- docs: .env.example, README Configuration table, version bump to 0.5.0
2026-05-19 07:45:58 -07:00

18 lines
459 B
Docker

FROM python:3.12-slim
WORKDIR /harvester
RUN pip install --no-cache-dir pyyaml
COPY harvester.py .
# Default volume mounts expected at runtime:
# /var/log → host /var/log (read-only)
# /run/log/journal → host /run/log/journal (read-only)
# /patterns → sources.yaml directory (read-only)
ENV TURNSTONE_URL=http://turnstone:8534
ENV TURNSTONE_SOURCES=/patterns/sources.yaml
ENTRYPOINT ["python", "harvester.py"]
CMD ["push"]