dfb3038 Move README generation to dedicated file
~bitfehler pushed to ~bitfehler/anemos-initramfs git
9b25d2a Move README generation to dedicated file
~bitfehler pushed to ~bitfehler/anemos-initramfs git
Anemos is an open source infrastructure management research project.
Its goals are:
In its current state, Anemos is a set of tools that allow you to deploy a
system image described in code (e.g. a script that runs setup-alpine
) to a
host (bare-metal or virtual) without the need for external infrastructure (like
PXE boot) or physical access (like booting a live system from USB).
One absolutely welcome side-effect of how Anemos works is that it makes it "easy" (some caveats apply, of course) to deploy a custom distribution to a VPS where the provider only offers a limited choice of distributions. See the demo below.
When using it for the first time on a server, make sure you:
A deployment with Anemos makes use of the following components:
The components are described in more detail below. The deployment process works as follows:
The final initramfs is generated on the host to include the deployment payload, network configuration, and firmware. But the deployment mechanics are implemented in the base initramfs.
The CLI tool is a simple shell script with a single configuration file. There are no packages yet, so it needs to be installed manually for now.
The payload is a gzipped tarball of one of two things:
deploy
, along with whatever other files are
neededA simple example of a custom payload could be a script that simply runs
setup-alpine
with some predefined answers.
Anemos is now being used to deploy the nameservers responsible for anemos.io and a few other zones. The full code used to do this is available here. You can also see this in action here. I hope to also provide CI for this soon.
More recently, bot the main (i.e. web) server for anemos.io as well as the bitfehler.net mail server have also been ported to Anemos. The full IMGBUILDs are available here: bitfehler-www, bitfehler-mx.
If you'd rather see it in action on someone else's machine, here is a screencast where you can observe the following:
zstd
I perform the steps outlined abovepacstrap
via makeimg
)