···22atroot: true
33template:
44slug: spindle-microvm
55-title: Spindle's new microVM engine
66-subtitle: How we built the new QEMU-based microVM engine
55+title: Tangled CI runs on microVMs
66+subtitle: How we built spindle's new QEMU-based microVM engine
77date: 2026-06-16
88image: https://assets.tangled.network/blog/microvm.png
99authors:
···1212 handle: ptr.pet
1313---
14141515-Spindle gains a second engine: `microvm`. Each workflow gets its own little
1616-virtual machine, a whole real environment you can do anything inside. It's an
1717-upgrade from the Nixery engine while staying fully compatible with it, so if you
1818-already have a working Nixery workflow, just change `nixery` to `microvm` and it
1919-will work!
1515+Our CI service now supports a new engine: `microvm`. If you're new here, our CI
1616+runners -- [spindles](/ci) -- support a pluggable interface for workflow
1717+execution. Until now, our flagship instance at spindle.tangled.sh only
1818+supported a [Nixery-based
1919+engine](https://docs.tangled.org/spindles#nixery-engine).
2020+2121+Now, with the new microVM engine, each workflow gets its own little virtual
2222+machine, a whole real environment you can do anything inside. It's an upgrade
2323+from the Nixery engine while staying fully compatible with it, so if you
2424+already have a working Nixery workflow, just change `nixery` to `microvm` and
2525+it will work!
20262127The interesting part is NixOS images: you configure the machine directly from
2228the workflow file. A few things you can do:
···5763microVM get pushed to spindle's Nix cache, so the next workflow that needs them
5864doesn't rebuild those. More on that [below](#the-nix-cache-both-ways).
59656060-And like everything else in tangled, the whole thing is self-hostable, so you
6666+And like everything else in Tangled, the whole thing is self-hostable, so you
6167can run your own spindle with the microVM engine on your own hardware (see the
6268[self-hosting
6369guide](https://docs.tangled.org/spindles.html#self-hosting-guide)). If you want
···366372 more info if something unexpected fails so you don't sit around there running
367373 the workflow 10 times over.
368374369369-Feel free to come and ask any questions you might have on https://chat.tangled.sh!
375375+Feel free to come and ask any questions you might have on https://chat.tangled.org!