Narrow the runtime enum to libvirt #16

Merged
vnprc merged 1 commit from agent/microvm-withdrawal into master 2026-09-08 13:24:25 +01:00
Member

The runtime machine fact now accepts one value, libvirt. Both example machines already declare it, so no running machine changes and a fleet diff from allod/deploy against this branch reports all four machines unchanged. The fact itself stays: it is still required on every guest, still refused on a hypervisor, and still validated as present, a string and a known value, so consumers keep deriving from it. All three checks build green. If this is wrong, the change is one list member and a handful of check cases; revert the commit.

Refs allod/strategy#46. Merge order: after allod/archetypes#71, which stops mapping the removed member to a guest module.

What changes

  • validRuntimes = [ "libvirt" ].
  • runtime-fact-mutations drops the case that accepted a synthetic microvm guest and the two example-machine assertions the one-member enum makes tautological. The hypervisor-with-runtime fixture carries the remaining valid member, so it still trips only the runtime-free diagnostic. The unknown, missing and non-string runtime cases, the shape cases and the drift sabotage are unchanged.
  • Comments that explained why no example machine selected microvm go; README describes the one value.
  • No lib/validation.nix, microvmVolumes or microvmStateRoot exists in this tree, so the enum member and the check cases were the whole of it.

Risk

  • Low. The validator's shape is unchanged; only the accepted set narrows, and every remaining diagnostic still has its pinned sabotage.

Validation

  • nix build .#checks.x86_64-linux.<name> one at a time, all green: repository-registry, runtime-fact-mutations, vm-specs-json.
  • fleet-diff --override inventory=7a12fbd36c6abbf7e9ddd041a7f005f62a939995 --expect-none from allod/deploy: allod-dev, installer, nexus, privacy-1 all unchanged; expectation matches.
  • grep -ri microvm over the tree finds nothing.
The `runtime` machine fact now accepts one value, `libvirt`. Both example machines already declare it, so no running machine changes and a fleet diff from allod/deploy against this branch reports all four machines unchanged. The fact itself stays: it is still required on every guest, still refused on a hypervisor, and still validated as present, a string and a known value, so consumers keep deriving from it. All three checks build green. If this is wrong, the change is one list member and a handful of check cases; revert the commit. Refs allod/strategy#46. Merge order: after allod/archetypes#71, which stops mapping the removed member to a guest module. ## What changes - `validRuntimes = [ "libvirt" ]`. - `runtime-fact-mutations` drops the case that accepted a synthetic microvm guest and the two example-machine assertions the one-member enum makes tautological. The hypervisor-with-runtime fixture carries the remaining valid member, so it still trips only the runtime-free diagnostic. The unknown, missing and non-string runtime cases, the shape cases and the drift sabotage are unchanged. - Comments that explained why no example machine selected microvm go; README describes the one value. - No `lib/validation.nix`, `microvmVolumes` or `microvmStateRoot` exists in this tree, so the enum member and the check cases were the whole of it. ## Risk - Low. The validator's shape is unchanged; only the accepted set narrows, and every remaining diagnostic still has its pinned sabotage. ## Validation - `nix build .#checks.x86_64-linux.<name>` one at a time, all green: repository-registry, runtime-fact-mutations, vm-specs-json. - `fleet-diff --override inventory=7a12fbd36c6abbf7e9ddd041a7f005f62a939995 --expect-none` from allod/deploy: allod-dev, installer, nexus, privacy-1 all unchanged; expectation matches. - `grep -ri microvm` over the tree finds nothing.
The microvm runtime is withdrawn from the framework, so validRuntimes has
one member. runtime-fact-mutations drops the microvm acceptance case and
the two example-machine assertions the enum now makes tautological; the
hypervisor-with-runtime fixture carries the remaining valid member.

Refs allod/strategy#46
vnprc approved these changes 2026-09-08 13:24:20 +01:00
vnprc merged commit 7a12fbd36c into master 2026-09-08 13:24:25 +01:00
vnprc deleted branch agent/microvm-withdrawal 2026-09-08 13:24:26 +01:00
Sign in to join this conversation.
No description provided.