Jesús Pérez 44648e3206
chore: complete nickel migration and consolidate legacy configs
- Remove KCL ecosystem (~220 files deleted)
- Migrate all infrastructure to Nickel schema system
- Consolidate documentation: legacy docs → provisioning/docs/src/
- Add CI/CD workflows (.github/) and Rust build config (.cargo/)
- Update core system for Nickel schema parsing
- Update README.md and CHANGES.md for v5.0.0 release
- Fix pre-commit hooks: end-of-file, trailing-whitespace
- Breaking changes: KCL workspaces require migration
- Migration bridge available in docs/src/development/
2026-01-08 09:55:37 +00:00

92 lines
2.1 KiB
Plaintext

# Nested Provisioning Defaults
#
# Default values for nested provisioning
# Migrated from provisioning/kcl/nested_provisioning.k
let contracts = import "contracts.ncl" in
{
default_volume = {
name = "data-volume",
type = 'local,
mount_path = "/data",
readonly = false,
mount_mode = "755",
} | contracts.VolumeConfig,
default_network = {
name = "default",
type = 'bridge,
subnet = "192.168.1.0/24",
mtu = 1500,
dhcp_enabled = true,
allow_outbound = true,
allow_inbound = false,
} | contracts.NetworkConfig,
default_nested_vm = {
name = "nested-vm",
parent_vm = "parent",
cpu = 2,
memory_mb = 2048,
disk_gb = 20,
nested_virt = true,
base_image = "ubuntu-22.04",
networks = [],
auto_start = false,
start_order = 100,
restart_policy = 'always,
} | contracts.NestedVmConfig,
default_container = {
name = "app-container",
image = "nginx",
tag = "latest",
parent_vm = "vm",
runtime = 'containerd,
cpu_millicores = 1000,
memory_mb = 512,
disk_gb = 10,
auto_start = false,
restart_policy = 'unless_stopped,
} | contracts.ContainerConfig,
default_multi_tier = {
name = "multi-tier-app",
version = "1.0.0",
networks = [],
volumes = [],
parent_vms = [],
nested_vms = [],
containers = [],
replicas = 1,
strategy = 'rolling,
health_check_interval = 30,
} | contracts.MultiTierDeployment,
default_network_policy = {
name = "default-policy",
direction = 'both,
protocol = 'all,
action = 'allow,
priority = 100,
} | contracts.NetworkPolicy,
default_provisioning_policy = {
max_nesting_depth = 3,
max_vms_per_parent = 10,
max_containers_per_vm = 50,
max_cpu_per_vm = 16,
max_memory_per_vm = 32768,
max_disk_per_vm = 500,
default_network_type = "bridge",
enable_ipv6 = false,
enable_vlan_tagging = false,
default_volume_type = "local",
snapshot_retention_days = 30,
enable_security_hardening = true,
enable_network_isolation = true,
require_auth_between_tiers = false,
} | contracts.NestedProvisioningPolicy,
}