Remove the microvm guest runtime #9

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

The microvm guest runtime is gone from this repo: the guest wrapper, the writable-store module with its boot replay and database reconciliation scripts, the two store checks, and the microvm.nix input. No running machine changes; every machine composes nixosModules.qemuGuest, which is untouched, and a fleet diff from allod/deploy against this branch reports all four machines unchanged. The one remaining check builds green on x86_64 and evaluates on aarch64. If a machine does change after the lock advances, the deploy lock bump at the end of the sequence is the PR to revert.

Refs allod/strategy#46. Merge order: third of the sequence posted on that issue, after allod/archetypes#71 (stops composing microvmGuest) and allod/nexus#40 (stops importing microvmHost).

What changes

  • Deleted: modules/microvm-guest.nix, modules/microvm-store.nix, modules/microvm-store-replay.sh, modules/microvm-store-reconcile.awk, checks/microvm-store-reconcile.nix, checks/microvm-store-db-reset.nix, the microvmGuest and microvmHost exports, and the microvm input. The lock loses the microvm and spectrum nodes; every surviving node is byte-identical.
  • allod.vm.guestRuntimes keeps its enum with one member and its exactly-one assertion, so the shared base still refuses to compose without a runtime module.
  • guest-module-contracts narrows to the libvirt guest: generated fstab, bootspec, boot-loader installer and disko script, plus the mutation table, which now holds the one sabotage still constructible (the shared base with no runtime module). The lock scanner, the upstream-tree scanner and every microvm contract go with the runtime they described.
  • checkSystems stays the two Linux systems, now described as support policy rather than a microvm.nix capability fact.
  • README describes one guest module.

Risk

  • Machines: none change (fleet diff below).
  • Checks: one remains, green. The microvm store checks pinned properties of the removed runtime only; the exclusivity assertion is still paired with a failing sabotage.

Validation

  • nix build .#checks.x86_64-linux.guest-module-contracts: green. nix eval .#checks.aarch64-linux.guest-module-contracts.drvPath: evaluates.
  • fleet-diff --override archetypes/vm=251f90658e586efa58afd3130346d027eb564c6e --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 guest runtime is gone from this repo: the guest wrapper, the writable-store module with its boot replay and database reconciliation scripts, the two store checks, and the microvm.nix input. No running machine changes; every machine composes `nixosModules.qemuGuest`, which is untouched, and a fleet diff from allod/deploy against this branch reports all four machines unchanged. The one remaining check builds green on x86_64 and evaluates on aarch64. If a machine does change after the lock advances, the deploy lock bump at the end of the sequence is the PR to revert. Refs allod/strategy#46. Merge order: third of the sequence posted on that issue, after allod/archetypes#71 (stops composing `microvmGuest`) and allod/nexus#40 (stops importing `microvmHost`). ## What changes - Deleted: `modules/microvm-guest.nix`, `modules/microvm-store.nix`, `modules/microvm-store-replay.sh`, `modules/microvm-store-reconcile.awk`, `checks/microvm-store-reconcile.nix`, `checks/microvm-store-db-reset.nix`, the `microvmGuest` and `microvmHost` exports, and the `microvm` input. The lock loses the microvm and spectrum nodes; every surviving node is byte-identical. - `allod.vm.guestRuntimes` keeps its enum with one member and its exactly-one assertion, so the shared base still refuses to compose without a runtime module. - `guest-module-contracts` narrows to the libvirt guest: generated fstab, bootspec, boot-loader installer and disko script, plus the mutation table, which now holds the one sabotage still constructible (the shared base with no runtime module). The lock scanner, the upstream-tree scanner and every microvm contract go with the runtime they described. - `checkSystems` stays the two Linux systems, now described as support policy rather than a microvm.nix capability fact. - README describes one guest module. ## Risk - Machines: none change (fleet diff below). - Checks: one remains, green. The microvm store checks pinned properties of the removed runtime only; the exclusivity assertion is still paired with a failing sabotage. ## Validation - `nix build .#checks.x86_64-linux.guest-module-contracts`: green. `nix eval .#checks.aarch64-linux.guest-module-contracts.drvPath`: evaluates. - `fleet-diff --override archetypes/vm=251f90658e586efa58afd3130346d027eb564c6e --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 guest wrapper, the writable-store module and its replay and
reconciliation scripts, the two store checks, and the microvm.nix input go
with the withdrawn runtime. guest-module-contracts narrows to the libvirt
guest: its generated fstab, bootspec, boot-loader installer and disko
script, and the shared base composed with no runtime module as the paired
sabotage. The guestRuntimes enum keeps its one member.

Refs allod/strategy#46
vnprc approved these changes 2026-09-08 13:23:50 +01:00
vnprc merged commit 251f90658e into master 2026-09-08 13:23:56 +01:00
vnprc deleted branch agent/microvm-withdrawal 2026-09-08 13:23:56 +01:00
Sign in to join this conversation.
No description provided.