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
44 lines
1.2 KiB
YAML
44 lines
1.2 KiB
YAML
# Turnstone Harvester — sources.example.yaml
|
|
# Copy to sources.yaml and adjust paths for your system.
|
|
# The harvester reads this file and POSTs each log file to Turnstone.
|
|
#
|
|
# Each source needs:
|
|
# id: Short identifier (used as source_id in Turnstone)
|
|
# path: Absolute path to the log file on the host
|
|
|
|
sources:
|
|
# System journal (export with: journalctl -o json-pretty > /var/log/journal-export.jsonl)
|
|
# - id: system-journal
|
|
# path: /var/log/journal-export.jsonl
|
|
|
|
# Syslog
|
|
- id: syslog
|
|
path: /var/log/syslog
|
|
|
|
# Docker daemon log
|
|
# - id: docker
|
|
# path: /var/log/docker.log
|
|
|
|
# Podman events (rootful)
|
|
# - id: podman
|
|
# path: /var/log/podman-events.log
|
|
|
|
# Caddy access log
|
|
# - id: caddy
|
|
# path: /var/log/caddy/access.log
|
|
|
|
# Arr stack — adjust container paths to match your setup
|
|
# - id: sonarr
|
|
# path: /opt/sonarr/config/logs/sonarr.0.txt
|
|
# - id: radarr
|
|
# path: /opt/radarr/config/logs/radarr.0.txt
|
|
# - id: prowlarr
|
|
# path: /opt/prowlarr/config/logs/prowlarr.0.txt
|
|
|
|
# qBittorrent
|
|
# - id: qbittorrent
|
|
# path: /opt/qbittorrent/config/data/logs/qbittorrent.log
|
|
|
|
# Jellyfin
|
|
# - id: jellyfin
|
|
# path: /opt/jellyfin/log/jellyfin.log
|