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
|