Anemos in Action
Table of contents
This page provides some glimpses into what Anemos is and can do, beyond words and theory. See the about page for more background on what’s happening here.
➟Video: Deploying y.bitfehler.net
Anemos is actively being used to deploy the two authoritative nameservers
(x.bitfehler.net
and y.bitfehler.net
) responsible for anemos.io and a few
other zones. The full code used to do this is available here.
Here is a video of this in action - After uploading the small payload,
y.bitfehler.net
is deployed by running anemos
on it, which:
- generates an initramfs
- boots the host into that initramfs
- sets up the disk from scratch (partition table + filesystem)
- bootstraps Alpine Linux from scratch
- performs various other actions defined in the code, and finally
- reboots the server into the newly installed system
As you can see in the terminal on the left, the entire process happens with a downtime of slightly under 40 seconds (note: the host reboots very fast because it is a VM).
➟Video: Installing Arch Linux on a VPS
This is an older, less polished demo, but it showcases an interesting use-case for anemos, demonstrating how it can be used to quickly install a distribution on a VPS that the hosting provider does not offer support for. The payload code can be found here.
In this video, you can see:
- the serial console of a LeaseWeb VPS running a freshly provisioned Debian
- zstd is installed as dependency
- the
anemos
CLI tool and a configuration file are downloaded to the host - the config file is adjusted for the Debian system
- anemos is executed
- the machine reboots, initially seemingly back into Debian
- after loading the initramfs, an Alpine system boots (the anemos initramfs)
- once OpenRC is done, the deploy starts (pacstrap via makeimg)
- the machine reboots again
- a fully functional Arch Linux comes up (LeaseWeb does not offer Arch Linux images for their VPS)
➟The Daphnis Demo Instance
The anemos project plans to offer an asset management component which integrates with it (but can potentially be used on its own). These efforts are currently code-named daphnis. It’s in a very early stage, but you may be able to see it in action (no uptime guarantees) at daphnis.anemos.io. If it’s up, it should contain information about some of my hosts. This information is updated by anemos every time the hosts are being deployed.