Merge _configs/ into config/ for single configuration directory. Update all path references. Changes: - Move _configs/* to config/ - Update .gitignore for new patterns - No code references to _configs/ found Impact: -1 root directory (layout_conventions.md compliance)
72 lines
2.6 KiB
TOML
72 lines
2.6 KiB
TOML
# provctl default configuration values (100% config-driven)
|
||
# All timeouts, paths, and operational parameters are defined here
|
||
# Rationale for each value documented following M-DOCUMENTED-MAGIC guideline
|
||
|
||
# Process spawn timeout in seconds
|
||
# Benchmark: Most services start within 5-15 seconds
|
||
# Safety margin: 30 seconds allows slow systems and initialization scripts
|
||
spawn_timeout_secs = 30
|
||
|
||
# Health check timeout in seconds
|
||
# Typical HTTP requests complete in 1-3 seconds
|
||
# Safety margin: 5 seconds handles network delays
|
||
health_check_timeout_secs = 5
|
||
|
||
# Interval between health checks in seconds
|
||
# Frequent checks: 10 second intervals balances responsiveness and overhead
|
||
# Can be overridden per-service in service definitions
|
||
health_check_interval_secs = 10
|
||
|
||
# Maximum failed health checks before marking service unhealthy
|
||
# After 3 consecutive failures, service is considered unhealthy
|
||
# Prevents false positives from transient network issues
|
||
health_check_max_failures = 3
|
||
|
||
# Delay before restarting a failed service (seconds)
|
||
# Prevents rapid restart loops that could waste resources
|
||
# Gives system time to recover from transient failures
|
||
restart_delay_secs = 5
|
||
|
||
# Maximum number of restart attempts before giving up
|
||
# After 3 attempts, manual intervention required
|
||
max_restart_attempts = 3
|
||
|
||
# PID file location template
|
||
# {service_name} is replaced with actual service name
|
||
# /tmp is widely available but may be cleared on reboot
|
||
# Can be overridden per-service or globally
|
||
pid_file_path = "/tmp/{service_name}.pid"
|
||
|
||
# Log file location template
|
||
# {service_name} is replaced with actual service name
|
||
# {home} is replaced with user's home directory
|
||
# Placed in .local/share following XDG Base Directory specification
|
||
log_file_path = "{home}/.local/share/provctl/logs/{service_name}.log"
|
||
|
||
# Maximum log file size before rotation (bytes)
|
||
# 10 MB balances storage with retention of useful debugging info
|
||
# Typical service logs: 100KB-5MB depending on verbosity
|
||
log_file_max_size_bytes = 10485760
|
||
|
||
# Number of log files to retain during rotation
|
||
# 5 files × 10 MB = 50 MB total log storage
|
||
# Provides 1-2 weeks of logs for typical services
|
||
log_file_retention_count = 5
|
||
|
||
# Buffer size for reading log files (bytes)
|
||
# 8 KB is optimal for most systems (L1 cache size)
|
||
# Balances memory usage with I/O efficiency
|
||
log_read_buffer_size = 8192
|
||
|
||
# Enable auto-restart by default when service crashes
|
||
# Can be disabled per-service for critical operations
|
||
# Improves availability for transient failures
|
||
auto_restart_enabled = true
|
||
|
||
# Default verbosity level
|
||
# 0 = quiet (errors only)
|
||
# 1 = normal (info level, recommended)
|
||
# 2 = verbose (debug level)
|
||
# 3 = very verbose (trace level)
|
||
verbosity_level = 1
|