# 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