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
18 lines
459 B
Docker
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"]
|