provisioning-platform/prov-ecosystem/crates/daemon-cli/config/provisioning.toml

153 lines
3.7 KiB
TOML
Raw Normal View History

# 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