- 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/
92 lines
2.1 KiB
Plaintext
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,
|
|
}
|