- config.py: MAX_CONCURRENT_SCANS (default=4) - harvester.py: глобальный _scan_semaphore оборачивает scan_package() — при N одновременных сканах, (N+1)-й будет ждать освобождения слота — download и SHA256 не лимитируются, только guarddog subprocess - docker-compose.yml, .env.example: переменная добавлена
38 lines
657 B
Plaintext
38 lines
657 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_API_BASE=https://api.openai.com/v1
|
|
LLM_API_KEY=
|
|
LLM_MODEL=gpt-4o-mini
|
|
LLM_TIMEOUT_SECONDS=30
|