- Добавлен статус {"status": "analyzing"} в finding.report на время LLM-анализа
- Кнопка рескана (Retry) под LLM-отчётом в ручном режиме
- LLM-статистика на дашборде: analysed / pending
- Защита от двойного анализа через per-finding asyncio.Lock
- _llm_spinner.html — фрагмент спиннера для состояния analysing
- Удалён мёртвый код: constants, i18n, CSS, queries
- Фиксы: _env_int, индексы БД, UnicodeDecodeError, time.mktime и др.
- Шаблоны: shared includes (_status_badge, _pagination)
- AGENTS.md: workflow (lint, test, commit, rebuild)
40 lines
706 B
Plaintext
40 lines
706 B
Plaintext
# Nexus connection
|
|
NEXUS_URL=http://nexus:8081
|
|
NEXUS_USERNAME=admin
|
|
NEXUS_PASSWORD=admin123
|
|
|
|
# Database
|
|
DATABASE_PATH=/data/guarddog.db
|
|
|
|
# Server
|
|
HOST=0.0.0.0
|
|
PORT=8080
|
|
|
|
# Logging
|
|
LOG_LEVEL=INFO
|
|
LOG_SYSLOG_HOST=
|
|
LOG_SYSLOG_PORT=514
|
|
LOG_SYSLOG_FACILITY=local0
|
|
|
|
# Webhook
|
|
WEBHOOK_SECRET=
|
|
|
|
# Scanner
|
|
SCAN_TIMEOUT_SECONDS=300
|
|
TEMP_DIR=/tmp/guarddog-nexus
|
|
GUARDDOG_BINARY=guarddog
|
|
MAX_CONCURRENT_SCANS=4
|
|
|
|
# Timeouts (seconds)
|
|
NEXUS_DOWNLOAD_TIMEOUT_SECONDS=120
|
|
NEXUS_API_TIMEOUT_SECONDS=30
|
|
|
|
# LLM analysis (optional — set LLM_ENABLED=1 to activate)
|
|
LLM_ENABLED=0
|
|
LLM_AUTO_ANALYZE=0
|
|
LLM_API_BASE=https://api.openai.com/v1
|
|
LLM_API_KEY=
|
|
LLM_MODEL=gpt-4o-mini
|
|
LLM_TIMEOUT_SECONDS=30
|
|
LLM_MAX_CONCURRENT_ANALYSES=2
|