e107fe9 README: add link to CI builds
~bitfehler pushed to ~bitfehler/anemos-initramfs git
b88e453 Remove package list from repo, upload it instead
~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.
🔴🔴🔴 NOTE: Anemos is very young and work in progress. It performs actions that can potentially leave your server in a broken or unexpected state. 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.
The project is still very young. There are no packages, no versioning, no proper distribution of artifacts. That said, I uploaded everything you need to get started:
NOTE: Doing this will overwrite the host's disk! Do it in a throw-away VM, or something you can easily reset to a state of your liking.
# Prerquisites: make sure you have zstd and cpio installed
wget https://anemos.io/demo/anemos # The CLI tool
wget https://anemos.io/demo/anemos.conf # An example config file
chmod +x anemos
# Study the config file and edit to your liking
./anemos -c anemos.conf
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
)