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