# Provisioning Daemon Configuration # # This configuration file is used by provisioning-daemon-cli to set up the daemon # with Nushell execution support. It extends the base prov-ecosystem daemon configuration # with provisioning-specific settings. [daemon] # Daemon name name = "provisioning-daemon-cli" # Daemon mode mode = "provisioning" [server] # Server binding address bind = "127.0.0.1:9091" # Executor strategy (subprocess, persistent, or hybrid) executor_strategy = "persistent" # Path to ecosystem installation ecosystem_path = "~/.local/share/prov-ecosystem" # Path to provisioning modules (Nushell) nushell_path = "~/.config/provisioning" [nushell] # Enable Nushell integration enabled = true # Persistent executor for <5ms execution overhead persistent_executor = true # Pre-load environment at daemon startup preload_enabled = true # Path to pre-load Nushell modules from preload_path = "~/.config/provisioning/preload.nu" # Cache size for command results cache_size = 1000 # Default timeout for Nushell commands (milliseconds) default_timeout_ms = 100 # Maximum concurrent executions max_concurrent = 10 [watcher] # Enable file watching for hot-reload enabled = true # Watch paths relative to provisioning directory watch_paths = [ "core/nulib", "config/templates", "extensions" ] # File extensions to monitor (.nu, .k, .toml, .yaml) watch_extensions = ["nu", "k", "toml", "yaml"] # Debounce duration in milliseconds debounce_ms = 100 # Enable debug logging for watcher debug = false [cache] # Hierarchical cache configuration [cache.command] # Layer 1: Command cache (1 hour TTL) size_mb = 50 ttl_seconds = 3600 # Number of entries max_entries = 1000 [cache.config] # Layer 2: Config cache (5 minute TTL) size_mb = 100 ttl_seconds = 300 # Number of entries max_entries = 500 [cache.module] # Layer 3: Module cache (permanent) size_mb = 200 ttl_seconds = 0 # No expiration # Number of entries max_entries = 200 [paths] # Base provisioning directory provisioning_base = "~/.config/provisioning" # Workspace configuration directory workspace_base = "~/.config/provisioning/workspace" # Nushell modules directory nulib_base = "~/.config/provisioning/core/nulib" # Template directory templates_base = "~/.config/provisioning/config/templates" # Extensions directory extensions_base = "~/.config/provisioning/extensions" # Logs directory logs_base = "~/.local/share/provisioning/logs" [logging] # Log level (trace, debug, info, warn, error) level = "info" # Log format (compact, full, json) format = "compact" # Log to file file_enabled = true # Log file path file_path = "~/.local/share/provisioning/logs/provisioning-daemon.log" # Maximum log file size in MB file_max_size_mb = 100 # Number of backup log files to keep file_backup_count = 5 [health] # Health check settings # Liveness check interval (seconds) liveness_interval_secs = 10 # Readiness check interval (seconds) readiness_interval_secs = 5 # Nushell environment health check timeout (milliseconds) nushell_health_timeout_ms = 1000 [api] # API settings # API version version = "v1" # Enable detailed error responses detailed_errors = false # Request timeout (seconds) request_timeout_secs = 30 # Maximum request body size in MB max_body_size_mb = 100 [operations] # Operation registry settings # Valida operation valida_enabled = true # Runtime detection operation runtime_enabled = true # Encrypt/decrypt operation encrypt_enabled = true # Init services operation init_servs_enabled = true # Audit operation audit_enabled = true [features] # Feature flags # Enable Nushell integration nushell = true # Enable persistent executor nushell_persistent = true # Enable file watching watcher = true # Enable cache system cache = true # Enable event bus event_bus = true # Enable health checks health_checks = true