Skip to content

v2.4.0

Compare
Choose a tag to compare
@Itxaka Itxaka released this 13 Sep 12:37
· 399 commits to master since this release
9743f26

⚠️ NOTE: Due to problems with our pipelines after merging the provider-kairos CI to kairos repo, some opensuse-leap images in quay which are supposed to be for amd64, were overwritten by arm pipelines and the images are now for arm64. E.g. quay.io/kairos/kairos-opensuse-leap:v2.4.0-k3svlatest-k3s1. This will be fixed in v2.4.2 where naming of artifacts is a lot clearer

Overview and important notes

  • ⚠️ From this release the provider-kairos images are now released from here instead of its own separated repo. We now provider core image and standard images in our releases. core means the plain Kairos image as we use to release here, standard is the Kairos image + provider-kairos bundled. If you used to get your images from https://github.com/kairos-io/provider-kairos you can now get them all from this repo directly.
  • ⚠️ We have limited the number of k3s releases that we bundle and release to align with upstream releases. Now its limited to 3 minor release versions, same as upstream Kubernetes
  • ⚠️ RPI images build has been split into rpi3 and rpi4 due to partitioning issues (only rpi4 supports GPT). For now we only release rpi4 images. For rpi3 images, the user need to use Earthly to build its own by passing --MODEL=rpi3 when building.
  • 🎨 Kairos overlay files now come from luet packages directly instead of being along in the repository.
  • 🎨 K3S packages now come from luet packages directly instead of being installed on the fly during building. This allows us to have a better upgrade cadence and to have the versions more under our control.
  • Kairos-agent has been updated to v2.2.11 which brings the following improvements and features
    • Single source for configuration: We used to have 2 different files to configure install/upgrade/reset behaviour (/etc/elemental/config.yaml and cloud-config file). That has been merged and all configuration of agent behaviour is now done via the cloud-config. You can see the full reference in our docs. If you have override anything in your image by setting the /etc/elemental/config.yaml please migrate that config into your cloud-config
    • Create dirs in rootfs: We noticed that some users needed to create dirs in the rootfs but as our system is immutable they were unable to do so. There is now a new option in the configuration that allows creating dirs in the rootfs during install or upgrade for those corner cases in which they are needed. See our docs the extra-dirs-rootfs key.
    • Upgrade workflow while booting from passive: Update workflow used to be the same when runing from active or passive, but that could lead to issues and a broken system as it was upgrading passive as well. Now when upgrading the system from the passive boot image, only the active image will be updated to avoid overwriting a know bootable passive image.
    • Auto partition and image size: No more fixed sizes for partitions and images! Now the agent will calculate the optimal size by analyzing the source for the install and creating the proper partitions to hold the images on them.
    • Overridable partition and image size: Dont like our auto image size? Do you want to override it to set it yourself? Now its possible to override partition and image sizes via cloud config directly and set the sizes for each action (install/upgrade/reset) so there is maximum flexibility to configure your system.
    • 🎨 Improve unnatended reset: In some cases it was blocking the terminal and not rebooting correctly. We have now added flags to make unnatended reset work in any terminal/service and reboot automatically so it has gained more flexibility to work in all situations.
    • 🎨 run-stage command: Fixed several underlying issues with cloud provider metadata, user creation and layout partition and expansion.
    • 🎨 Allow upgrading recovery: We noticed that recovery was no longer being able to be upgraded as we were not exposing the flags to do so. Now its possible to upgrade recovery only by calling upgrade with the --recovery flag. Normal upgrade also has gained a warning to advise the user to remember to upgrade the recovery.

Known issues

  • ubuntu-20-lts flavor on rpi is currently not able to bring the eth0 interface. No workaround at the moment.
  • automatic expansion of the last partition doesn't work in some cases (#1831)

New features and improvements

Fixes

Documentation

  • 📖 Update README and drop duplicated content from community by @mudler in #1649

Packages included in this release

Name Version
bundles/kairos-overlay-files 1.0.6
container/kubectl 1.28.1
dracut/immucore 0.1.4
dracut/network-legacy 0.9
dracut/sysext 0.9
init-svc/systemd 0.8.0
static/grub-config 0.7
systemd-default/network 1.0
system/grub2-efi 2.06-150404
system/immucore 0.1.4
system/kairos-agent 2.2.11
system/ provider-kairos 2.4.0
system/suc-upgrade 0.2.1
system/kcrypt 0.7.0
system/kcrypt-challenger 0.5.0
utils/kube-vip 0.6.2
utils/nerdctl 1.5.0
utils/k9s 0.27.4
utils/edgevpn 0.23.1

CI improvements

Full Changelog: v2.3.2...v2.4.0