From a9f18be7003e0bad5b54339fce6a8d884c92f3e7 Mon Sep 17 00:00:00 2001 From: Julian Cuni Date: Sun, 5 Jul 2026 10:40:42 +0200 Subject: [PATCH] feat(logging): extend log retention to 60 days and update log level options --- komodo/.env.komodo.example | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/komodo/.env.komodo.example b/komodo/.env.komodo.example index ffa168e..73fca59 100644 --- a/komodo/.env.komodo.example +++ b/komodo/.env.komodo.example @@ -68,9 +68,10 @@ WS_ALLOWED_ORIGINS= # # (multi-NIC hosts; usually auto-detected fine) # WEB_DIST_DIR= # where the built SPA lives (the image sets it) # --- logging --- -# LOG_LEVEL=info # debug|info|warn|error -# LOG_RETENTION_DAYS=30 # app_logs auto-purge age -# LOG_RETENTION_MAX_ROWS=50000 # app_logs row cap +# LOG_LEVEL=info # trace|debug|info|warn|error|fatal (pino) +# LOG_RETENTION_DAYS=60 # app_logs auto-purge age (~2 months, matches the +# # container-log rotation caps in compose.prod) +# LOG_RETENTION_MAX_ROWS=50000 # app_logs row cap (burst guard regardless of age) # RECYCLE_BIN_RETENTION_DAYS=30 # soft-deleted items auto-purge age (0 = keep forever) # --- snapshots (camera evidence; stored re-encoded, then pruned under disk pressure) --- # SNAPSHOT_MAX_EDGE=1280 # downscale long edge (px) before storing @@ -84,7 +85,11 @@ WS_ALLOWED_ORIGINS= # DEVICE_POLL_MS=8000 # device health poll interval # PRINTER_POLL_MS=5000 # printer status poll interval # LANE_BUSY_TTL_MS=30000 # how long a lane stays "busy" after a vehicle push -# CAPTURE_TTL_MS=30000 # snapshot evidence cache TTL +# CAPTURE_TTL_MS=30000 # credential-enrollment arm window (card capture form) +# --- readers (DT-008 channel tagging — must MATCH the vendor tool's output prefixes; +# see wiki/entities/dingtian-dt008-reader.md) --- +# READER_QR_PREFIX=Q: # optical-decode marker the reader prepends +# READER_CARD_PREFIX=K: # RF-read marker the reader prepends # --- ANPR / vision (server side) --- # VISION_URL is compose-set (above). These are the knobs you may tweak per booth: # VISION_TIMEOUT_MS=1500 # per /analyze call timeout @@ -98,6 +103,8 @@ WS_ALLOWED_ORIGINS= # # barrier means the car waits >8s before reading clean. # ANPR_POLL_MAX_MS=30000 # hard ceiling on one loop from start (so a continuously # # busy lane can't slide the window forever) +# ENTRY_DUP_PLATE_WINDOW_MIN=15 # entry ANPR duplicate-plate lookback (same plate already +# # OPEN under another session → signed anomaly) # ════════════════════════════════════════════════════════════════════════════ # VISION CONTAINER env (the Python ANPR service — its OWN process, prefix VISION_)