Jesús Pérez 6a59d34bb1
chore: update provisioning configuration and documentation
Update configuration files, templates, and internal documentation
for the provisioning repository system.

Configuration Updates:
- KMS configuration modernization
- Plugin system settings
- Service port mappings
- Test cluster topologies
- Installation configuration examples
- VM configuration defaults
- Cedar authorization policies

Documentation Updates:
- Library module documentation
- Extension API guides
- AI system documentation
- Service management guides
- Test environment setup
- Plugin usage guides
- Validator configuration documentation

All changes are backward compatible.
2025-12-11 21:50:42 +00:00

208 lines
5.0 KiB
TOML

# 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"
]