# autoSMART Local Configuration
# Location: /etc/default/autosmart
# This file contains node-specific settings and debug flags

# Node identification
AUTOSMART_NODE_ID="$(hostname)"
AUTOSMART_CLUSTER_CONFIG="/etc/pve/autoSMART/cluster.conf"

# Debug settings
AUTOSMART_DEBUG_ENABLED=false
AUTOSMART_DEBUG_LEVEL=1          # 0=none, 1=basic, 2=verbose, 3=trace
AUTOSMART_DEBUG_LOG_FILE="/var/log/autosmart/debug.log"
AUTOSMART_DEBUG_MAX_SIZE="100M"
AUTOSMART_DEBUG_ROTATE_COUNT=5

# Local logging
AUTOSMART_LOG_ENABLED=true
AUTOSMART_LOG_LEVEL="info"       # debug, info, warn, error
AUTOSMART_LOG_FILE="/var/log/autosmart/autosmart.log"
AUTOSMART_LOG_SYSLOG=true
AUTOSMART_LOG_FACILITY="daemon"

# Collection settings (can override cluster defaults)
AUTOSMART_COLLECTION_INTERVAL=300  # seconds (5 minutes)
AUTOSMART_COLLECTION_TIMEOUT=30    # seconds
AUTOSMART_COLLECTION_RETRIES=3
AUTOSMART_COLLECTION_PARALLEL=true

# Local storage paths
AUTOSMART_PID_FILE="/var/run/autosmart.pid"
AUTOSMART_LOCK_FILE="/var/lock/autosmart.lock"
AUTOSMART_CACHE_DIR="/var/cache/autosmart"
AUTOSMART_TEMP_DIR="/tmp/autosmart"

# Process management
AUTOSMART_DAEMON_USER="autosmart"
AUTOSMART_DAEMON_GROUP="autosmart"
AUTOSMART_MAX_MEMORY="256M"
AUTOSMART_NICE_LEVEL=10

# Local device discovery
AUTOSMART_DEVICE_SCAN_ENABLED=true
AUTOSMART_DEVICE_SCAN_PATHS="/dev/sd* /dev/nvme*"
AUTOSMART_DEVICE_EXCLUDE_PATTERNS="loop*,dm-*,sr*"
AUTOSMART_DEVICE_CACHE_TTL=3600    # seconds

# Network settings
AUTOSMART_BIND_ADDRESS="0.0.0.0"
AUTOSMART_BIND_PORT=0              # 0 = disable local API
AUTOSMART_CLUSTER_TIMEOUT=10       # seconds
AUTOSMART_CLUSTER_RETRIES=2

# Performance tuning
AUTOSMART_WORKER_THREADS=4
AUTOSMART_QUEUE_SIZE=1000
AUTOSMART_BATCH_SIZE=10
AUTOSMART_RATE_LIMIT_ENABLED=true
AUTOSMART_RATE_LIMIT_REQUESTS=60   # per minute

# Security
AUTOSMART_SECURE_MODE=true
AUTOSMART_SSL_VERIFY=true
AUTOSMART_PERMISSIONS_CHECK=true
AUTOSMART_CONFIG_VALIDATION=true

# Emergency settings
AUTOSMART_EMERGENCY_STOP_FILE="/etc/autosmart/EMERGENCY_STOP"
AUTOSMART_SAFE_MODE_ENABLED=true
AUTOSMART_RECOVERY_MODE=false

# Development/Testing flags (production should be false)
AUTOSMART_DEVELOPMENT_MODE=false
AUTOSMART_MOCK_SMARTCTL=false
AUTOSMART_MOCK_DATABASE=false
AUTOSMART_MOCK_OPENAI=false
AUTOSMART_TEST_MODE=false

# Feature toggles
AUTOSMART_FEATURE_AI_PREDICTIONS=true
AUTOSMART_FEATURE_EMAIL_ALERTS=true
AUTOSMART_FEATURE_CLUSTER_SYNC=true
AUTOSMART_FEATURE_AUTO_DISCOVERY=true
AUTOSMART_FEATURE_HEALTH_CHECKS=true

# Compatibility settings
AUTOSMART_LEGACY_SUPPORT=false
AUTOSMART_STRICT_MODE=true
AUTOSMART_BACKWARD_COMPATIBILITY=false

# Monitoring and health checks
AUTOSMART_HEALTH_CHECK_ENABLED=true
AUTOSMART_HEALTH_CHECK_INTERVAL=60    # seconds
AUTOSMART_HEALTH_CHECK_TIMEOUT=5     # seconds
AUTOSMART_METRICS_ENABLED=true
AUTOSMART_METRICS_PORT=9090

# Resource limits
AUTOSMART_MAX_OPEN_FILES=1024
AUTOSMART_MAX_PROCESSES=50
AUTOSMART_MEMORY_LIMIT="512M"
AUTOSMART_CPU_LIMIT=80               # percentage

# Maintenance
AUTOSMART_AUTO_CLEANUP=true
AUTOSMART_CLEANUP_INTERVAL=86400     # daily
AUTOSMART_VACUUM_DATABASE=true
AUTOSMART_OPTIMIZE_INTERVAL=604800   # weekly
