Image build configurations for capsul.org operating system images
| alpine | ||
| archlinux | ||
| debian | ||
| guixsystem | ||
| nixos | ||
| openbsd | ||
| rockylinux | ||
| ubuntu | ||
| .gitignore | ||
| .woodpecker.yml | ||
| LICENSE | ||
| README | ||
qweh
This repository is responsible for building OS images consumed by capsul.org
Based on: https://git.sr.ht/~sircmpwn/builds.sr.ht/tree/master/item/images
== PRE REQS
git clone <this-repo>
cd capsul-images
packer, libvirt, archlinux utils perhaps, nbd
== MAKE ALPINE IMAGE ==
cd alpine
./build 3.14
== MAKE OPENBSD IMAGE ==
cd openbsd
./build 6.9
== MAKE GUIX SYSTEM IMAGE
cd guixsystem
./build 1.4.0
== MAKE ARCH IMAGE
cd archlinux
./build
== TO CLOUD-INIT OR NOT TO CLOUD-INIT
We can use some of the heavier images straight from the source and leverage the built-in cloud-init (https://cloud-init.io/)
For everything else, (images which we build ourselves from scratch) we build in or own miniature fake cloud-init
(Capsul requires this becuase it uses cloud-init to provide the ssher's key(s) to the VM)
== BACKUP SUPPORT / GRACEFUL SHUTDOWN SUPPORT
In order for capsul to be able to create backups, it needs qemu guest agent installed and enabled.
In order for capsul to be able to do graceful shutdowns, it needs acpid installed and enabled.
For the images we build ourselves, it's easy to add these during the build.
For the ones that we pull as an image directly from the OS project,
we can use cloud-init to install/enable these services.
Ones that use built-in cloud-init:
- debian
- ubuntu
- rocky
Ones that we build with custom ersatz cloud init:
- alpine
- openbsd
- nixos
- guix
- archlinux
== RESOURCES ==
- https://github.com/alpinelinux/alpine-make-vm-image
- https://curlybracket.co.uk/blog/running-alpine-linux-on-digital-ocean/
- https://git.sr.ht/~sircmpwn/builds.sr.ht/tree/master/item/images