Jesús Pérez 9cef9b8d57 refactor: consolidate configuration directories
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)
2025-12-26 18:36:23 +00:00

72 lines
2.6 KiB
TOML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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