WARNING: This project is under active development and is NOT ready for production use. APIs, configurations, and behavior may change without notice. Use at your own risk.
This repository is a partial fork of flatcar/sysext-bakery. Not all features from the original project are included, and significant modifications have been made to fit the needs of this project.
Build and publish systemd system extensions (.raw images) for Kubernetes and Containerd on immutable Linux distributions (e.g., Flatcar Container Linux).
Based on the flatcar/sysext-bakery framework.
| Extension | Components |
|---|---|
kubernetes |
kubelet, kubeadm, kubectl, CNI plugins |
containerd |
containerd (static), runc |
etcd |
etcd |
kubeadm |
kubeadm configuration and setup |
./bakery.sh list./bakery.sh list kubernetes
./bakery.sh list containerd# Kubernetes (latest patch of each supported minor)
./bakery.sh create kubernetes v1.32.0 --arch x86-64
# Containerd
./bakery.sh create containerd 2.0.0 --arch x86-64sudo apt install curl jq squashfs-tools xz-utils erofs-utils
# yq is required for kubernetes version listing
sudo wget -qO /usr/local/bin/yq https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64
sudo chmod +x /usr/local/bin/yqThe GitHub Actions workflow (.github/workflows/release.yaml) runs weekly (Mondays at 5am UTC) or on manual dispatch. It:
- Checks
release_build_versions.txtfor versions to build - Resolves
latestto actual version numbers - Builds both
x86-64andarm64images for each version - Publishes GitHub Releases with
.rawimages, SHA256SUMS, and sysupdate configs
The .env file overrides the bakery defaults:
bakery="sighupio/installer-immutable-sysext"
bakery_hub=""# Download the .raw image
curl -LO https://github.com/sighupio/installer-immutable-sysext/releases/download/kubernetes-v1.32.0/kubernetes-v1.32.0-x86-64.raw
# Place it in the extensions directory
sudo cp kubernetes-v1.32.0-x86-64.raw /etc/extensions/kubernetes.raw
# Refresh system extensions
sudo systemd-sysext refreshBased on flatcar/sysext-bakery, licensed under the Apache 2.0 License.