diff --git a/nulib/lib_provisioning/vm/golden_image_builder.nu b/nulib/lib_provisioning/vm/golden_image_builder.nu index cf1b165..796f908 100644 --- a/nulib/lib_provisioning/vm/golden_image_builder.nu +++ b/nulib/lib_provisioning/vm/golden_image_builder.nu @@ -3,8 +3,9 @@ # Builds golden images with pre-installed taskservs for 5x faster VM startup. # Rule 1: Single purpose, Rule 5: Atomic operations, Rule 2: Explicit types -use ./vm_persistence.nu * -use ./lifecycle.nu * +# Selective imports (ADR-025 Phase 3 Layer 2). +# vm/vm_persistence star-import was dead — dropped. +use lib_provisioning/vm/lifecycle.nu [vm-create vm-info vm-stop] export def "build-golden-image" [ name: string # Image name diff --git a/nulib/lib_provisioning/vm/lifecycle.nu b/nulib/lib_provisioning/vm/lifecycle.nu index 1d1d0dc..9458361 100644 --- a/nulib/lib_provisioning/vm/lifecycle.nu +++ b/nulib/lib_provisioning/vm/lifecycle.nu @@ -3,8 +3,14 @@ # Higher-level VM operations: create, start, stop, delete with state tracking. # Rule 1: Single purpose, Rule 4: Pure functions, Rule 5: Atomic operations -use ./backend_libvirt.nu * -use ./persistence.nu * +# Selective imports (ADR-025 Phase 3 Layer 2). +use lib_provisioning/vm/backend_libvirt.nu [ + libvirt-create-disk libvirt-create-vm libvirt-delete-vm libvirt-get-vm-info + libvirt-get-vm-ip libvirt-list-vms libvirt-start-vm libvirt-stop-vm +] +use lib_provisioning/vm/persistence.nu [ + get-vm-state record-vm-creation remove-vm-state update-vm-state +] export def "vm-create" [ vm_config: record # VM configuration (from Nickel) diff --git a/nulib/lib_provisioning/vm/ssh_utils.nu b/nulib/lib_provisioning/vm/ssh_utils.nu index 4678fea..cd801dd 100644 --- a/nulib/lib_provisioning/vm/ssh_utils.nu +++ b/nulib/lib_provisioning/vm/ssh_utils.nu @@ -3,8 +3,9 @@ # SSH operations for VMs: connection, provisioning, file transfer. # Rule 1: Single purpose, Rule 2: Explicit types -use ./backend_libvirt.nu * -use ./persistence.nu * +# Selective imports (ADR-025 Phase 3 Layer 2). +use lib_provisioning/vm/backend_libvirt.nu [libvirt-get-vm-ip] +use lib_provisioning/vm/persistence.nu [get-vm-state] export def "vm-ssh" [ vm_name: string # VM name diff --git a/nulib/lib_provisioning/vm/state_recovery.nu b/nulib/lib_provisioning/vm/state_recovery.nu index b1bc4c7..1d6eaf6 100644 --- a/nulib/lib_provisioning/vm/state_recovery.nu +++ b/nulib/lib_provisioning/vm/state_recovery.nu @@ -3,8 +3,9 @@ # Recovers VM state after host reboot and restarts permanent VMs. # Rule 1: Single purpose, Rule 5: Atomic operations -use ./vm_persistence.nu * -use ./lifecycle.nu * +# Selective imports (ADR-025 Phase 3 Layer 2). +use lib_provisioning/vm/vm_persistence.nu [get-vm-persistence-info list-permanent-vms] +use lib_provisioning/vm/lifecycle.nu [vm-info vm-start] export def "recover-vms-on-boot" []: record { """