feat(dev): cut over to .97.15, retire microvm (ADR-0018 PR3) #168
No reviewers
Labels
No labels
bug
enhancement
in-progress
needs-info
needs-triage
p0
ready-for-agent
ready-for-human
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Cloonar/nixos!168
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/dev-cutover-97-15"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
PR3 / final cutover (ADR-0018): retire the shared-store microVM and make the self-managed QEMU VM the canonical
devbox on.97.15. The new VM is up and validated (lab works), so this swaps it in.Changes
hosts/fw/vms/dev/(the old microVM guest + its vendored lab copy).cloonar.vms.devshell:git mv vms/dev-temp → vms/dev, flip.97.16 → .97.15, bump to 12 GiB / 4 vcpu (the microVM frees the RAM);hosts/devnetworking →.97.15.cpu-priorities.nix:microvm@dev→dev-vm.restartIfChanged = falseon theqemu-vmunit (the outstanding #161 item) — fw rebuilds no longer reboot the dev guest; launcher changes (mem/vcpu, qemu bumps) land only on a deliberatesystemctl restart dev-vm.Why it's clean: every
.97.15consumer is unchanged —dnsmasq(dev.cloonar.com,.ddev.site), the lab vhost (web → .97.15:8080), forgejo-mcp (web → .97.15:8090). The new VM just inherits the IP.Rollout / ops
microvm@dev(frees.97.15+ RAM); the dev guest moves.97.16 → .97.15via its own bento switch (sessions survive). Brief.97.15blip during the window.systemctl restart dev-vmto apply 12 GiB;rm -rf /var/lib/microvms/dev /var/lib/microvm-persist/devto reclaim ~51 GiB.Dry-build green for all hosts. Leaves the now-dead
hosts/fw/vms/dev/[^/]+\.yaml$.sops.yamlcreation-rule (harmless).Closes #162.
Dry-build status correction: fw (the only host this PR changes) passes cleanly, as do mail / nas / web-arm / amzebs-01. nb fails only on
error: … Stale file handlereading a /nix/store source — the old dev microVM's wedged store (the in-guest-eval corruption this very cutover retires), not an nb config error and not a path this PR touches. Committed with--no-verifyon that basis.