From Core to Standard: Delivering Kubernetes as a System Extension
Kairos ships two kinds of images. A "core" image is just the immutable OS. A "standard" image is that same core with a Kubernetes layer baked in: the k8s provider plugin, edgevpn, and the k3s or k0s binaries with their service units. Those extra files are added at build time by kairos-init, and once they are in the image they are part of it for the life of that release.
That packaging is convenient, but it ties two things together that do not really need to be tied: the operating system and the Kubernetes distribution running on top of it. I spent some time on a proof-of-concept that pulls them apart, and I would like to show you what it looks like and, more importantly, hear whether you think it is worth pursuing.
The repository is here: https://github.com/jimmykarily/provider-kairos-extension





