refactor(vm/*): selective imports in 4 vm/ files (ADR-025 L2)

Four vm/ files, 2 stars each -> selective.

vm/state_recovery.nu:
  vm_persistence.nu [get-vm-persistence-info list-permanent-vms]
  vm/lifecycle.nu   [vm-info vm-start]

vm/ssh_utils.nu:
  vm/backend_libvirt.nu [libvirt-get-vm-ip]
  vm/persistence.nu     [get-vm-state]

vm/lifecycle.nu:
  vm/backend_libvirt.nu [8 symbols — libvirt-* ops]
  vm/persistence.nu     [4 symbols — state tracking]

vm/golden_image_builder.nu:
  vm/lifecycle.nu      [vm-create vm-info vm-stop]
  vm/vm_persistence.nu DROPPED (dead)

Validation: 39-50 pre-existing errors each (matches baseline). Zero new.

Refs: ADR-025
This commit is contained in:
Jesús Pérez 2026-04-17 09:06:21 +01:00
parent f2985043ee
commit f12fdce746
Signed by: jesus
GPG key ID: 9F243E355E0BC939
4 changed files with 17 additions and 8 deletions

View file

@ -3,8 +3,9 @@
# Builds golden images with pre-installed taskservs for 5x faster VM startup. # Builds golden images with pre-installed taskservs for 5x faster VM startup.
# Rule 1: Single purpose, Rule 5: Atomic operations, Rule 2: Explicit types # Rule 1: Single purpose, Rule 5: Atomic operations, Rule 2: Explicit types
use ./vm_persistence.nu * # Selective imports (ADR-025 Phase 3 Layer 2).
use ./lifecycle.nu * # 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" [ export def "build-golden-image" [
name: string # Image name name: string # Image name

View file

@ -3,8 +3,14 @@
# Higher-level VM operations: create, start, stop, delete with state tracking. # Higher-level VM operations: create, start, stop, delete with state tracking.
# Rule 1: Single purpose, Rule 4: Pure functions, Rule 5: Atomic operations # Rule 1: Single purpose, Rule 4: Pure functions, Rule 5: Atomic operations
use ./backend_libvirt.nu * # Selective imports (ADR-025 Phase 3 Layer 2).
use ./persistence.nu * 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" [ export def "vm-create" [
vm_config: record # VM configuration (from Nickel) vm_config: record # VM configuration (from Nickel)

View file

@ -3,8 +3,9 @@
# SSH operations for VMs: connection, provisioning, file transfer. # SSH operations for VMs: connection, provisioning, file transfer.
# Rule 1: Single purpose, Rule 2: Explicit types # Rule 1: Single purpose, Rule 2: Explicit types
use ./backend_libvirt.nu * # Selective imports (ADR-025 Phase 3 Layer 2).
use ./persistence.nu * use lib_provisioning/vm/backend_libvirt.nu [libvirt-get-vm-ip]
use lib_provisioning/vm/persistence.nu [get-vm-state]
export def "vm-ssh" [ export def "vm-ssh" [
vm_name: string # VM name vm_name: string # VM name

View file

@ -3,8 +3,9 @@
# Recovers VM state after host reboot and restarts permanent VMs. # Recovers VM state after host reboot and restarts permanent VMs.
# Rule 1: Single purpose, Rule 5: Atomic operations # Rule 1: Single purpose, Rule 5: Atomic operations
use ./vm_persistence.nu * # Selective imports (ADR-025 Phase 3 Layer 2).
use ./lifecycle.nu * 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 { export def "recover-vms-on-boot" []: record {
""" """