# 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, }