Releases: kairos-io/kairos
v2.0.2
v2.0.1
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 |
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.
For releases with k3s embedded, see here.
🔦 Highlights
This is a patch release after v2.0.
Mostly importantly, this release contains the following bugfixes:
- 🐛 Kairos agent version in v2 shows as 0.0.0 #1287
- 🐛 Keep OS_ID and OS_VERSION untouched #1259
- 🤖 CI fails pushing ARM images #1270
- 🐛 Reset doesn't work when
fast
is enabled #1178 - 📖 Add documentation for manual upgrades using private registries #1288
- 🐛 config fails fetch deep nested keys #1297
- 🐛 kairos-agent manual upgrade suggests v1 versions instead of v2 as latest #1320
- 🐛 v2.0 not booting on RPI #1300
What's Changed
- 📖 Update Schema by @ci-robbot in #1285
- Pass VERSION flag including v2 in path by @mauromorales in #1290
- Update opensuse/leap Docker tag to v15.5 by @renovate in #1274
- Update earthly/earthly Docker tag to v0.7.4 by @renovate in #1282
- Update dependency @popperjs/core to v2.11.7 by @renovate in #1192
- Update dependency codemirror to v5.65.12 by @renovate in #1144
- 📖 v2.0 Announcement blog post by @mudler in #1278
- Update quay.io/kairos/osbuilder-tools Docker tag to v0.6.0 by @renovate in #1293
- 📖 Fix immucore link by @mudler in #1298
- Make kairos-agent support install local bundle by @scuzhanglei in #1296
- 🐛 Add a netlify redirect for /docs/contribution-guidlines/ by @mauromorales in #1302
- 🐛 Fix agent not able to get subkeys by @Itxaka in #1299
- 🌱 Generic arm64 isos by @Itxaka in #1291
- Update docker/setup-buildx-action action to v2 by @renovate in #1303
- ⬆️ Update repositories by @ci-robbot in #1292
- ⬆️ Update repositories by @ci-robbot in #1308
- 🐛 Fix rpi initrd not being linked by @Itxaka in #1309
- 🤖 Push arm64 generic artifacts to quay on master merge by @Itxaka in #1311
- 🐛 Ensure data source is ready during reset by @mudler in #1310
- 📖 SENA whitepaper announcement by @mudler in #1312
- Update dependency autoprefixer to v10.4.14 by @renovate in #1141
- Update dependency postcss to v8.4.22 by @renovate in #1306
- Update aquasec/trivy Docker tag to v0.40.0 by @renovate in #1307
- Update module github.com/santhosh-tekuri/jsonschema/v5 to v5.3.0 by @renovate in #1250
- Update module golang.org/x/oauth2 to v0.7.0 by @renovate in #1267
- Update module github.com/pterm/pterm to v0.12.59 by @renovate in #1305
- 🤖 Release arm generic artifacts on release by @Itxaka in #1315
- Update github.com/spectrocloud/peg digest to 2e15270 by @renovate in #1264
- Add cypress tests for web UI by @Itxaka in #1269
- Update dependency cypress to v12.10.0 by @renovate in #1319
- Update quay.io/kairos/osbuilder-tools Docker tag to v0.6.1 by @renovate in #1318
- 📖 Docs for upgrade with auth by @Itxaka in #1316
- 🐛 Create journald persistent path by @Itxaka in #1324
- 🌱 Prefix variable names with distro name in os-release by @mauromorales in #1263
- 🐛 Fix version list by @Itxaka in #1323
- Update dependency postcss to v8.4.23 by @renovate in #1326
- Update module github.com/Masterminds/semver/v3 to v3.2.1 by @renovate in #1327
New Contributors
- @scuzhanglei made their first contribution in #1296
Full Changelog: v2.0.0...v2.0.1
v2.0.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 |
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.
For releases with k3s embedded, see here.
🔦 Highlights
This is a major releases as #877 is a core change of the Kairos boot process.
We replaced the former dracut modules (a set of bash scripts/dracut/systemd services), which were responsible for the immutability management of Kairos, with https://github.com/kairos-io/immucore, a self-contained binary which doesn't have dependencies and can run without dracut and systemd.
This allows us to:
- not depend anymore on systemd while set up immutability on boot ( allowing us to unblock #653 )
- have hybrid images (#656), that boots both UKI as a single file image, and as well as pivoting (as we are doing currently)
- pave the way for things like #873 #119 and much more
- debug things more cleanly, have a better testbed, and allow to integrate easily with golang
Besides, we have now full SBOM list attached to images, as part of the release process, and in-toto
attestation, allowing you to verify attestation also of SBOM lists, and have full audit of images. We also have integrated grype
and trivy
in our pipelines, and as such now releases contains also CVE reports, and finally we upload the generated reports as sarif file to GitHub to have notifications and see with more ease the impact of CVEs to the images.
There were also fixes to the Debian flavor (thanks to the community for reporting issues!) and now manual upgrades with private registries are supported, too.
Finally, it is also now possible to specify custom bind mounts path to overlay on top of the persistent partition, allowing to easily specify paths that you want to be persistent in the system via the cloud config file: https://kairos.io/docs/advanced/customizing/#customizing-the-file-system-hierarchy-using-custom-mounts .
What's Changed
- 🌱 Detect more information about runtime by @mudler in #956
- 📖 Add v1.6.0 announcement blog post by @mudler in #968
- 🔧 Use ci-robbot to open cloud config schema updates by @mauromorales in #971
- 📖 Add cloud-config.json for v1.6.0 by @mauromorales in #977
- 📖 Add documentation about schema validation by @mauromorales in #978
- 🐛 Backport dracut patch for ubuntu 20 iscsi by @Itxaka in #979
- 🌱 Create framework images for each flavor by @mudler in #973
- 🐛 remove kcrypt hook after reset by @paynejacob in #982
⚠️ 🎨 ✨ Use immucore 🦔 by @Itxaka in #877- ⬆️ Update repositories by @ci-robbot in #981
- 🐛 Update state.go (#987 by @Itxaka in #987
- 📖 Add airgap docs by @mudler in #986
- 🔧 Upgrade earthly action for nodejs deprecations by @mauromorales in #985
- 📖 Improve documentation on how to create a SealedVolume by @jimmykarily in #995
- 🔧 Use random free port for Spice display and SSH by @oz123 in #832
- 🤖 Add SBOM artifacts to CI pipelines by @mudler in #998
- 🤖 Fix cosign signing by @jimmykarily in #1015
- 🤖 Add test for #491dd04 by @jimmykarily in #962
- 🤖 Fix some tests rebuilding the iso by @Itxaka in #980
- Update earthly/earthly Docker tag to v0.7.1 by @renovate in #1000
- ⬆️ Update earthly/actions-setup digest to cce953f by @renovate in #1001
- 🤖 Allow testing immucore from branches by @Itxaka in #989
- Update Getting started Index with typo fixes by @Princesso in #993
- 🤖 Use VARIANT, output SBOM to build by @mudler in #1017
- 🤖 Attach trivy scan reports by @mudler in #1019
- 🤖 Update workflow permissions by @mudler in #1021
- 🤖 Run framework build on self-hosted by @mudler in #1022
- 🤖 Use sudo to move generated sarif files by @mudler in #1028
- 🌱 Make sure to remove generated keys during setup by @mudler in #1027
- 🤖 Fixup test targets by @mudler in #1034
- 🐧 Drop removed packages from opensuse-tumbleweed-arm-rpi by @mudler in #1041
- 🐧 Add systemd-resolved to Debian images by @mudler in #1043
- 🐛 Fix link to QR code by @oz123 in #1046
- Add missing repository in tumbleweed by @jimmykarily in #1052
- ⬆️ Update repositories by @ci-robbot in #1058
- 🤖 Add grype scan reports by @mudler in #1057
- 📖 Extend documentation with framework images by @mudler in #1054
- 📖 align versions in docs by @oz123 in #1050
- 🔧 try and fix path exclusion in CI by @oz123 in #1063
- 🤖 Add wildcard also on master workflow by @mudler in #1064
- 🐧 added zfs packages to all images by @paynejacob in #677
- 🐛 Improve network stage by @Itxaka in #1062
- 🤖 Add state check on netboot tests by @mudler in #1060
- 🐛 Fix manual install not supporting configuration url by @paynejacob in #963
- Update earthly/actions-setup digest to 2181cb2 by @renovate in #1024
- 🤖 Consistently install earthly from our packages repository by @mudler in #1071
- 🤖 Be consistent and install earthly in the CI by @mudler in #1072
- Bump ghw and fix state by @Itxaka in #1073
- 🤖 Fix ARM builds by @mudler in #1076
- 🤖 Update immucore dev testing by @Itxaka in #1059
- 🐛 Bump yip by @Itxaka in #1082
- 🤖 Pin trivy version by @mudler in #1090
- 🤖 Delete duplicate test suite registration by @mudler in #1091
- 🐛 downgrade yip by @Itxaka in #1088
- 📖 add post about KCD Amsterdam and Paris 2023 by @mauromorales in #1080
- ✨ Bump repos to get immucore v0.0.13 by @Itxaka in #1092
- 🐛 Schema for groups is not working by @Itxaka in #1077
- 🤖 Fixup trivy scans by @mudler in #1093
- 🤖 Fix users schema test by @Itxaka in #1101
- ✨ Drop system/shim package by @Itxaka in https://gith...
v2.0.0-rc6
What's Changed
- 📖 Update Schema by @ci-robbot in #1238
- ⬆️ Update repositories by @ci-robbot in #1280
Full Changelog: v2.0.0-rc5...v2.0.0-rc6
v2.0.0-rc5
v2.0.0-rc4
Changelog
- ab052b6 ⬆️ Update repositories (#1237)
- d95d0a9 📖 Add navbar on top of homepage (#1242)
- 4d16878 🐛 Add yaml extension to temp file created by webui (#1260)
- 0967f7c 🐛 Do not merge all cmdline arguments to generic config (#1256)
- 2b60fe8 🤖 Add version to goreleaser (#1252)
- 4c332a6 Add a note on how to set a hardcoded k3s node name (#1244)
- b9f3c23 Add instructions on how to use the
coco
bundle (#1243) - f564594 Update module github.com/pterm/pterm to v0.12.58 (#1247)
- 3ec7010 Update peter-evans/create-pull-request action to v5 (#1253)
v2.0.0-rc3
v2.0.0-rc2
v2.0.0-rc1
Changelog
- f6ff38e 1197 - Add blog post about wireguard+kairos home lab setup (#1212)
- db441f9 ⬆️ Bump go in Earthly and workflows to ^1.20 (#1213)
- a6040e0 ⬆️ Update repositories (#1217)
- a3d9ace ⬆️ Update repositories (#1230)
- 473175a 🤖 Attach and sign SBOM (#1226)
- 8a7f901 🤖 Attach and sign SBOM (#1235)
- f185ffa 🤖 Fix schema job to get tags and include missing schemas from alpha releases (#1207)
- 5315712 🌱 🐛 Run kcrypt in rootfs stage (#1224)
- b6ae4b5 ✨ Custom partitioning refactor config (#1180)
- 0f9270a Change module path according to Go docs (#1220)
- d04de91 Remove dracut/kcrypt (#1231)
- 2f5ae91 Revert ":robot: Attach and sign SBOM" (#1229)
- 676da0e Run
go mod tidy
to fix errors - 98473f3 Update dependency @fortawesome/fontawesome-free to v6.4.0 (#1198)
- 09e0dc7 Update module github.com/kairos-io/kcrypt to v0.5.2 (#1218)
- 84b9a55 Update module github.com/onsi/gomega to v1.27.6 (#1219)
- 2fe6c23 Update module github.com/urfave/cli/v2 to v2.25.1 (#1195)