forked from PatchMon/PatchMon-agent
-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Labels
code-qualityCode qualityCode qualityenhancementNew feature or requestNew feature or requestmediumMedium priorityMedium priority
Description
Description
Several configuration values are hardcoded throughout the codebase instead of being configurable via config file or environment variables.
Locations
HTTP Client settings
`internal/client/client.go` lines 27-29
client.SetTimeout(30 * time.Second) // Hardcoded timeout
client.SetRetryCount(3) // Hardcoded retry count
client.SetRetryWaitTime(2 * time.Second) // Hardcoded retry waitDocker socket path
`internal/integrations/docker/docker.go` line 20
dockerSocketPath = "/var/run/docker.sock" // Should support custom pathsWebSocket settings
`cmd/patchmon-agent/commands/serve.go` lines 310-318, 374, 382-384
// Hardcoded backoff values
time.Sleep(1 * time.Second) // Initial backoff
// Max backoff 30 seconds
// Ping interval 30 seconds
// Read deadline 90 secondsRecommended Fix
- Add configuration options to `config.yml`:
http:
timeout: 30s
retry_count: 3
retry_wait: 2s
docker:
socket_path: /var/run/docker.sock
websocket:
initial_backoff: 1s
max_backoff: 30s
ping_interval: 30s
read_deadline: 90s- Load values from config with sensible defaults:
timeout := cfg.HTTP.Timeout
if timeout == 0 {
timeout = 30 * time.Second // Default
}
client.SetTimeout(timeout)Severity
🟡 MEDIUM - Operational flexibility
Labels
enhancement, medium, code-quality
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
code-qualityCode qualityCode qualityenhancementNew feature or requestNew feature or requestmediumMedium priorityMedium priority