# Configuration for Local Development Example # This file provides environment-specific settings for the local development setup [core] name = "local-development-example" version = "1.0.0" [paths] # Use current directory for this example base = "/usr/local/provisioning" infra = "." kloud = "." [debug] # Enable debug mode for learning and troubleshooting enabled = true log_level = "debug" metadata = true check = false remote = false no_terminal = false [output] # Human-readable output formats for learning format = "yaml" file_viewer = "less" # Provider configuration for local development [providers] default = "local" [providers.local] # Local provider settings interface = "CLI" container_runtime = "docker" # or "podman" network_driver = "bridge" # Local development network settings network_cidr = "192.168.100.0/24" enable_port_forwarding = true # Resource limits for local development resource_limits = { max_memory_per_server = "1GB" max_cpu_cores_per_server = 2 max_storage_per_server = "20GB" } # SOPS configuration (simplified for local development) [sops] use_sops = false # Disable encryption for local dev to keep things simple # If you want to practice with SOPS locally, set to true and configure keys # Development-specific settings [development] # Auto-approve actions for faster development workflow auto_approve = true # Cleanup settings cleanup_on_error = true cleanup_on_shutdown = false # Keep resources between sessions # Development helper settings enable_dev_mode = true verbose_logging = true debug_on_error = true # Cache settings for development [cache] enabled = false # Disable caching for development to see real-time changes path = "./.provisioning-cache" max_size = "100MB" # Task service runtime paths [taskservs] run_path = "./run/taskservs" [clusters] run_path = "./run/clusters" # Generation settings [generation] dir_path = "./generated" defs_file = "defs.toml" # Local development notifications (disabled for quiet operation) [notifications] enabled = false # Tool configuration for local development [tools] use_kcl = true use_kcl_plugin = true use_tera_plugin = true # Environment overrides for development [environments.development] debug.enabled = true debug.log_level = "debug" providers.default = "local" auto_approve = true # Validation settings for development [validation] strict_mode = false # Relaxed validation for learning warn_on_missing = true fail_on_error = false # Development-specific limits and quotas [limits] max_servers = 5 max_services_per_server = 10 max_concurrent_operations = 2 timeout_seconds = 300 # Local development extensions [extensions] path = "" mode = "development" profile = "learning" # Security settings (relaxed for local development) [security] require_confirmation = false # Speed up development workflow strict_validation = false log_sensitive_data = false # Performance settings for local development [performance] parallel_operations = 2 # Limit parallelism for local resources cache_enabled = false timeout_multiplier = 1.5 # Give more time for local operations # Local development specific configurations [local_dev] # Automatically clean up resources older than this auto_cleanup_age = "7d" # Enable development helpers enable_aliases = true enable_shortcuts = true # Port ranges for development services port_ranges = { web = "8000-8999" api = "9000-9999" database = "5000-5999" cache = "6000-6999" } # Development database settings database_defaults = { auto_create_dev_db = true enable_query_logging = true relaxed_security = true # WARNING: Only for local development! } # Container settings for local development [containers] auto_remove = true # Clean up containers automatically enable_debug_mode = true mount_source_code = true # Mount local directories for development # Network settings for local development [network] enable_host_networking = true # Allow easy access from host auto_assign_ports = true enable_service_discovery = true # Monitoring settings (lightweight for local development) [monitoring] enabled = true retention_period = "24h" # Short retention for local dev metrics_interval = "30s" enable_alerts = false # No alerts needed for local development # Backup settings for local development [backup] enabled = false # No backups needed for disposable local environment auto_backup = false # Integration settings [integration] # Enable integrations useful for development enable_git_hooks = false enable_ide_integration = true enable_hot_reload = true # Learning and documentation helpers [learning] show_helpful_tips = true verbose_explanations = true include_examples = true enable_interactive_help = true # Example-specific metadata [example] name = "local-development" description = "Basic local development environment setup" difficulty = "beginner" estimated_time = "15-30 minutes" requirements = ["docker", "4GB RAM", "10GB disk"] learning_objectives = [ "Understanding basic provisioning concepts", "Setting up local infrastructure", "Managing servers and services", "Using the provisioning CLI" ]