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 * downloading the payload (generated from this) * generating an initramfs
  • 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.