77 lines
1.9 KiB
Plaintext
77 lines
1.9 KiB
Plaintext
|
|
# VM Lifecycle Defaults
|
||
|
|
#
|
||
|
|
# Default values for VM lifecycle configurations
|
||
|
|
# Migrated from provisioning/kcl/vm_lifecycle.k
|
||
|
|
|
||
|
|
let contracts = import "contracts.ncl" in
|
||
|
|
|
||
|
|
{
|
||
|
|
default_persistence = {
|
||
|
|
mode = 'permanent,
|
||
|
|
auto_start = false,
|
||
|
|
restart_policy = 'always,
|
||
|
|
max_retries = 5,
|
||
|
|
ttl_hours = 24,
|
||
|
|
auto_cleanup = true,
|
||
|
|
force_cleanup = false,
|
||
|
|
cleanup_grace_period = 60,
|
||
|
|
created_at_unix = 0,
|
||
|
|
} | contracts.VmPersistence,
|
||
|
|
|
||
|
|
default_lifecycle_policy = {
|
||
|
|
on_host_reboot = 'start,
|
||
|
|
on_host_shutdown = 'shutdown,
|
||
|
|
on_memory_pressure = 'none,
|
||
|
|
on_disk_full = 'none,
|
||
|
|
enforce_memory_limit = true,
|
||
|
|
enforce_cpu_limit = true,
|
||
|
|
enforce_disk_limit = false,
|
||
|
|
} | contracts.VmLifecyclePolicy,
|
||
|
|
|
||
|
|
default_cleanup_policy = {
|
||
|
|
cleanup_enabled = true,
|
||
|
|
check_interval_minutes = 60,
|
||
|
|
cleanup_window_start = "02:00",
|
||
|
|
cleanup_window_end = "06:00",
|
||
|
|
cleanup_in_window_only = true,
|
||
|
|
max_concurrent_cleanups = 3,
|
||
|
|
cleanup_batch_size = 10,
|
||
|
|
require_confirmation = false,
|
||
|
|
dry_run_mode = false,
|
||
|
|
skip_on_low_resources = true,
|
||
|
|
log_cleanup_operations = true,
|
||
|
|
alert_on_cleanup_failure = true,
|
||
|
|
retention_days = 7,
|
||
|
|
} | contracts.VmCleanupPolicy,
|
||
|
|
|
||
|
|
default_auto_start = {
|
||
|
|
vm_name = "default",
|
||
|
|
enabled = true,
|
||
|
|
start_order = 0,
|
||
|
|
start_delay_seconds = 0,
|
||
|
|
wait_for_ssh = true,
|
||
|
|
ssh_timeout_seconds = 300,
|
||
|
|
on_start_failure = 'retry,
|
||
|
|
max_start_retries = 3,
|
||
|
|
depends_on = [],
|
||
|
|
} | contracts.VmAutoStartConfig,
|
||
|
|
|
||
|
|
# Template configurations
|
||
|
|
permanent_vm_persistence = {
|
||
|
|
mode = 'permanent,
|
||
|
|
auto_start = true,
|
||
|
|
restart_policy = 'always,
|
||
|
|
max_retries = 5,
|
||
|
|
created_at_unix = 0,
|
||
|
|
} | contracts.VmPersistence,
|
||
|
|
|
||
|
|
temporary_vm_persistence = {
|
||
|
|
mode = 'temporary,
|
||
|
|
ttl_hours = 24,
|
||
|
|
auto_cleanup = true,
|
||
|
|
force_cleanup = false,
|
||
|
|
cleanup_grace_period = 60,
|
||
|
|
created_at_unix = 0,
|
||
|
|
} | contracts.VmPersistence,
|
||
|
|
}
|