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

107 lines
2.2 KiB
Plaintext

# | VM Configuration Schema Contracts
# | Migrated from: provisioning/kcl/vm.k
# | Pattern: Three-file (contracts + defaults + main)
{
VmConfig = {
name | String,
description | String | optional,
base_image | String,
cpu | Number,
memory_mb | Number,
disk_gb | Number,
backend | String,
permanent | Bool,
temporary | Bool,
auto_cleanup | Bool,
auto_cleanup_hours | Number | optional,
taskserv | String | optional,
taskservs,
network_mode | String,
networks | optional,
ports | optional,
mounts | optional,
volumes | optional,
cloud_init | optional,
nested_virt | Bool | optional,
graphics_enable | Bool | optional,
serial_console | Bool | optional,
},
VmNetwork = {
name | String,
type | String,
subnet | String | optional,
},
VmPortMapping = {
host_port | Number,
guest_port | Number,
protocol | String,
bind_addr | String | optional,
},
VmMount = {
host_path | String,
guest_path | String,
readonly | Bool,
mode | String | optional,
},
VmVolume = {
name | String,
size_gb | Number,
mount_path | String | optional,
format | String,
},
VmCloudInit = {
enabled | Bool,
user_data | String | optional,
meta_data | String | optional,
vendor_data | String | optional,
},
VmImage = {
name | String,
format | String,
path | String,
size_gb | Number,
base_os | String,
os_version | String,
},
VmState = {
vm_name | String,
state | String,
permanent | Bool,
created_at | String,
started_at | String | optional,
last_action | String | optional,
auto_cleanup_at | String | optional,
ip_address | String | optional,
mac_address | String | optional,
hypervisor | String | optional,
backend_id | String | optional,
},
VmRegistry = {
vms,
permanent_count | Number,
temporary_count | Number,
updated_at | String,
},
VmCapacity = {
host_name | String,
total_cpu_cores | Number,
used_cpu_cores | Number,
total_memory_mb | Number,
used_memory_mb | Number,
total_disk_gb | Number,
used_disk_gb | Number,
max_vms | Number,
running_vms | Number,
},
}