v1.6.0
With Kairos you can build immutable, bootable Kubernetes and OS images for your edge devices as easily as writing a Dockerfile. Optional P2P mesh with distributed ledger automates node bootstrapping and coordination. Updating nodes is as easy as CI/CD: push a new image to your container registry and let secure, risk-free A/B atomic upgrades do the rest.
Documentation |
Contribute |
---|---|
📚 Getting started with Kairos |
For releases with k3s embedded, see here.
🔦 Highlights
Kairos is a cloud-native meta-Linux distribution that brings the power of public cloud to your on-premises environment. With Kairos, you can build your own cloud with complete control and no vendor lock-in. It allows you to easily spin up a Kubernetes cluster with the Linux distribution of your choice, and manage the entire cluster lifecycle with Kubernetes.
We are thrilled to announce the release of Kairos 1.6.0, featuring a new tool that simplifies the bootstrapping process of Kairos nodes, AuroraBoot! With various bugfixes and improvements, this release is a preparation for the v2.0.0 release, which will contain changes to the Kairos core components .
In addition to AuroraBoot, we have integrated documentation and syntax check into our Web UI, added support for Rocky Linux among the k3s releases, and made improvements to our UX. You can see the WebUI syntax checker in action here:
Screencast.from.2023-02-21.15-24-59.webm
We have also fixed several bugs, including DHCP hostname issues, encryption reset failures, and networkd hostname settings, you can check the changelog below.
Furthermore, we are excited to share that we recently attended FOSDEM 2023, and we have a blog post from @mauromorales about our experience. We have also made various improvements to our p2p documentation, including a full e2e example with AuroraBoot.
AuroraBoot simplifies and streamlines the process of bootstrapping Kairos nodes, making it easy and efficient to deploy Kairos manually or automatically. Whether you need to prepare multiple nodes in a lab, deploy Kairos on a single machine, or install Kairos on multiple machines, AuroraBoot is the tool for you allowing to boot straight from a container image.
Thank you to all contributors and users for making Kairos better with each release!
What's Changed
- Add machine display by @oz123 in #726
- Bump go version for goreleaser job by @Itxaka in #747
- 📖 Add blog release announcement for v1.5 by @mudler in #750
- Update github.com/mudler/go-pluggable digest to 7710299 by @renovate in #744
- 📖 fixed url for kairos tumbleweed rpi images by @c0ffee in #759
- Update module github.com/onsi/ginkgo/v2 to v2.7.1 by @renovate in #761
- 🤖 Only download needed release by @Itxaka in #762
- 🎨 rename kairos-agent and add sha256 signatures by @Itxaka in #670
- ✨ Integrate documentation to Web UI by @mauromorales in #741
- Add Rocky Linux and Debian to docs matrix by @mauromorales in #765
- ⬆️ Update repositories by @ci-robbot in #757
- 🐛 Fix tumbleweed iso by @Itxaka in #768
- require userdata loaded before running install by @paynejacob in #742
- Update module github.com/urfave/cli/v2 to v2.24.2 by @renovate in #767
- Update github.com/spectrocloud/peg digest to a5208a0 by @renovate in #735
- 🐛 Fix wrong IF line in Earthfile by @Itxaka in #785
- Update module github.com/onsi/ginkgo/v2 to v2.8.0 by @renovate in #783
- 🐧 sorted packages in dockerfiles and removed some duplicates by @c0ffee in #787
- Add correct extension to rasberry pi image by @jimmykarily in #791
- 📖 Misc improvements to docs by @mauromorales in #792
- :🔧: Allow port forwarding for qemu script by @oz123 in #795
- 🔧 Add earthlyignore file by @oz123 in #794
- 🔧 sed != gsed in MacOS by @oz123 in #804
- ✨ unpack local image file by @santhoshdaivajna in #803
- 🐛 Fix dhcp not able to set hostname by @Itxaka in #806
- 🐛 Fix ownership of polkitd rules dir by @Itxaka in #805
- 🐛 Missing polkit packages and extra /etc/hostname files by @Itxaka in #808
- ⬆️ Update repositories by @ci-robbot in #802
- 🐧 Disable squasfs compression for ISO building by @Itxaka in #812
- ✨ custom user bind and ephemeral mounts by @oz123 in #692
- 🐛 Remove workaround for polkit dirs by @Itxaka in #810
- ⬆️ Bump luet to 0.34.0 by @mudler in #813
- 🤖 Don't run installation twice on installation tests by @mudler in #811
- Update module github.com/joho/godotenv to v1.5.0 by @renovate in #817
- Update module github.com/erikgeiser/promptkit to v0.8.0 by @renovate in #652
- Update module github.com/urfave/cli/v2 to v2.24.3 by @renovate in #807
- ⬆️ Update repositories by @ci-robbot in #815
- 🤖 Add
hadolint
as part of the automatic lint checks by @sdwilsh in #818 - ⬆️ Update repositories by @ci-robbot in #819
- Update module github.com/mudler/yip to v1 by @renovate in #825
- Update module github.com/joho/godotenv to v1.5.1 by @renovate in #820
- 🐧
xz
Compress initrd Image by @sdwilsh in #830 - 🐧 Remove
RUN
commands that change/etc/network/interfaces
by @sdwilsh in #831 - ✨ set local_file bundleconfig to true if target prefix is file:// by @santhoshdaivajna in #823
- Add blog post about FOSDEM 2023 by @mauromorales in #834
- Update github.com/spectrocloud/peg digest to 5f48d83 by @renovate in #837
- 🔧 merge custom mounts tests by @oz123 in #814
- 🐛 Remove systemd-resolved from initramfs by @jimmykarily in #836
- ⬆️ Update repositories by @ci-robbot in #838
- 🐧 Add
systemd-timesyncd
to all images that usesystemd
by @sdwilsh in #840 - 🔧 Have renovate manage image versions in
Earthfile
by @sdwilsh in #841 - 🌱 Kairos config validator library by @mauromorales in #798
- Add dev docs on how to bump packages by @jimmykarily in #842
- 📖 Add
AuroraBoot
documentation by @mudler in #845 - 🌱 Don't swallow yaml config errors by @jimmykarily in #846
- ⬆️ Update repositories by @ci-robbot in #844
- Validate renovate config file during lint by @sdwilsh in #848
- Update module github.com/kairos-io/kcrypt to v0.5.1 by @renovate in #843
- 🔧 Manage the version of Earthly with renovate by @sdwilsh in #849
- 🔧 Mange the version of quay.io/kairos/osbuilder-tools with renovate by @sdwilsh in #850
- 📖 Updates to
AuroraBoot
docs by @mudler in #847 - Update module golang.org/x/net to v0.6.0 by @renovate in #851
- Update earthly/earthly Docker tag to v0.6.30 by @renovate in #854
- Update quay.io/kairos/osbuilder-tools Docker tag to v0.5.2 by @renovate in #855
- ✨ import the images to any CRI on start from the local filesystem by @santhoshdaivajna in #857
- Update module golang.org/x/oauth2 to v0.5.0 by @renovate in #852
- 📖 Add FOSDEM 2023 presentation to media section by @mauromorales in #860
- 📖 Add
sdwilsh
to CONTRIBUTORS.md by @mudler in #859 - 🔧 Add docker versioning for the
RENOVATE_VERSION
by @sdwilsh in #863 - 🐧 Packages in docker files should be on a single line by @sdwilsh in #862
- 🐧 Fix Some Lint Issues for Debian-based Images by @sdwilsh in #821
- 🤖 Run some jobs on self-hosted runners by @mudler in #867
- ⬆️ Update repositories by @ci-robbot in #866
- 🐧 [ubuntu] Remove some packages that should not be needed by @sdwilsh in #874
- Update github.com/spectrocloud/peg digest to 1780cee by @renovate in #865
- 🔧 Add temp-image Earthly target by @mauromorales in #876
- 📖 Add AuroraBoot pipe example, fix templates examples by @mudler in #883
- Added a step to move kairos-cli as kairos by @geetikabatra in #881
- ✨ Integrate schema validation by @mauromorales in #853
- Update module golang.org/x/net to v0.7.0 by @renovate in #889
- Update module github.com/onsi/ginkgo/v2 to v2.8.1 by @renovate in #880
- 🔧 Use yamllint to check lint issues on GH workflows by @mauromorales in #892
- 🔧 Automatically create a PR to publish latest schema release on the website by @mauromorales in #899
- 📖 Update p2p documentation by @mudler in #900
- 🤖 Fix schema checker by @Itxaka in #902
- Update module github.com/onsi/gomega to v1.27.0 by @renovate in #905
- 🔧 Build docs on arm64 by @mauromorales in #906
- 🔧 Lint overlay files by @mauromorales in #910
- 🐧 Support for LLDP by @3pings in #894
- 🐧 Install ubuntu-advantage-tools by @3pings in #895
- Update module github.com/onsi/ginkgo/v2 to v2.8.2 by @renovate in #913
- Update module github.com/onsi/gomega to v1.27.1 by @renovate in #914
- Update module github.com/labstack/echo/v4 to v4.10.1 by @renovate in #916
- 🐧 Install ubuntu-advantage-tools by @3pings in #896
- 🐛 Fix job "Push latest ARM images" caused by docs target by @mauromorales in #927
- Re-add snapd packages for ubuntu flavors by @Itxaka in #924
- Update module github.com/onsi/ginkgo/v2 to v2.8.3 by @renovate in #915
- Use KVM on tests that run on self-hosted runners by @jimmykarily in #929
- 📖 Add rocky Linux to support matrix by @mauromorales in #928
- ⬆️ Update repositories by @ci-robbot in #879
- 📖 Add libp2p video, small fixups by @mudler in #935
- 🐛 copy kairos agent during framework build by @Itxaka in #933
- Update module github.com/urfave/cli/v2 to v2.24.4 by @renovate in #904
- 🐛 Add record to hosts file when missing by @mauromorales in #912
- Update module github.com/labstack/echo/v4 to v4.10.2 by @renovate in #939
- Update earthly/earthly Docker tag to v0.7.0 by @renovate in #940
- ✨ Web UI schema validations by @mauromorales in #934
- 🐛 Fix custom binds set as RW_PATHS by @Itxaka in #944
- ⬆️ Update repositories by @ci-robbot in #947
- 🔧 Integrate Shellcheck by @sdwilsh in #931
- ⬆️ Update repositories by @ci-robbot in #953
- 📖 Add reference documentation for Nvidia ARM boards by @mudler in #952
- 🐛 Don't fail when config_url is not accessible by @mudler in #957
- 🐛 Add back gdisk to ubuntu/debian images by @mudler in #959
- 📖 Fix grammatical syntax on WebUI page by @Princesso in #960
- 📖 Fix grammatical structure by @Princesso in #961
- 🤖 Add flavor in the sign step by @Itxaka in #965
- 🔧 Use master as ref in generate schema workflow by @mauromorales in #966
- 📖 Add cloud-config.json for v1.6.0 release candidates by @mauromorales in #967
New Contributors
- @c0ffee made their first contribution in #759
- @sdwilsh made their first contribution in #818
- @geetikabatra made their first contribution in #881
- @Princesso made their first contribution in #960
Full Changelog: v1.5.0...v1.6.0