Monorepo for Tangled
0

Configure Feed

Select the types of activity you want to include in your feed.

blog: gentler intro to spindles

Signed-off-by: oppiliappan <me@oppi.li>

oppiliappan (Jun 30, 2026, 12:43 PM +0100) cace72b5 27ddab7c

+14 -14
+14 -14
blog/posts/spindle-microvm.md
··· 12 12 handle: ptr.pet 13 13 --- 14 14 15 - Our CI service now supports a new engine: `microvm`. If you're new here, our CI 16 - runners -- [spindles](/ci) -- support a pluggable interface for workflow 17 - execution. Until now, our flagship instance at spindle.tangled.sh only 18 - supported a [Nixery-based 19 - engine](https://docs.tangled.org/spindles#nixery-engine). 15 + Spindles are the self-hostable CI runners. It now supports a 16 + new mode of execution using QEMU MicroVMs. With the new 17 + microVM engine, each workflow gets its own little virtual 18 + machine, a whole real environment you can do anything 19 + inside. 20 20 21 - Now, with the new microVM engine, each workflow gets its own little virtual 22 - machine, a whole real environment you can do anything inside. It's an upgrade 23 - from the Nixery engine while staying fully compatible with it, so if you 24 - already have a working Nixery workflow, just change `nixery` to `microvm` and 25 - it will work! 26 - 27 - The interesting part is NixOS images: you configure the machine directly from 28 - the workflow file. A few things you can do: 21 + The interesting part is NixOS images: you configure the 22 + machine directly from the workflow file. A few things you 23 + can do: 29 24 30 25 You can bring services up: 31 26 ··· 49 44 command: docker build ... 50 45 ``` 51 46 52 - And you can use non-NixOS images too: 47 + And you can use non-NixOS images: 53 48 54 49 ```yaml 55 50 image: alpine ··· 57 52 - name: install golang 58 53 command: apk add go 59 54 ``` 55 + 56 + It's an upgrade from the existing Nixery engine while 57 + staying fully compatible with it, so if you already have a 58 + working Nixery workflow, just change `nixery` to `microvm` 59 + and it will work! 60 60 61 61 It's quick on the second run, too, because it caches aggressively: your 62 62 dependencies, your services, and any other Nix derivation built inside the