Skip to content
/ kairos Public
forked from kairos-io/kairos

🐧 The immutable Linux meta-distribution for edge Kubernetes.

License

Notifications You must be signed in to change notification settings

3pings/kairos

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


kairos-white-column 5bc2fe34

Kairos - Kubernetes-focused, Cloud Native Linux meta-distribution


The immutable Linux meta-distribution for edge Kubernetes.


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.

Kairos (formerly c3os) is an open-source project which brings Edge, cloud, and bare metal lifecycle OS management into the same design principles with a unified Cloud Native API.

At-a-glance:

  • :bowtie: Community Driven
  • :octocat: Open Source
  • 🔒 Linux immutable, meta-distribution
  • 🔑 Secure
  • 🐳 Container-based
  • 🐧 Distribution agnostic

Kairos can be used to:

  • Easily spin-up a Kubernetes cluster, with the Linux distribution of your choice 🐧
  • Manage the cluster lifecycle with Kubernetes—from building to provisioning, and upgrading 🚀
  • Create a multiple—node, a single cluster that spans up across regions 🌍

For comprehensive docs, tutorials, and examples see our documentation.

Project status

  • (Sep 29, 2022) announcing Kairos 1.0 GA availability. Kairos is now backed by Spectro Cloud, which contributes to the project. Kairos will remain fully community-driven and has its own governance. See the announcement
  • (Sep 15, 2022) the c3OS project has a new name: Kairos! For full details, see kairos-io#88 and kairos-io#84.

What is it?

Kairos is a Cloud Native, meta-Linux distribution that can be built, managed, and ran with Kubernetes.

Why/when should I use it?

  • Build your Cloud on-premise, no vendor lock-in—completely Open Source.
  • Brings the same convenience as a public cloud on-premise.
  • Node provisioning, by bringing your image or using the Kairos releases.
  • For appliances that don't have to be Kubernetes application specific-its design fits multiple use case scenarios.

Features

  • At the current state, Kairos can create a multiple-node Kubernetes cluster with k3s—all K3s features are supported.
  • Upgrades can be done manually via CLI or with Kubernetes. Distribution of upgrades are done via container registries.
  • An immutable distribution that you can configure to your needs while maintaining its immutability.
  • Node configuration via a single, cloud-init config file.
  • Handle airgap upgrades within cluster and container registries.
  • Extend the image in runtime or build time via Kubernetes Native API.
  • Plans to support CAPI, with full device lifecycle management.
  • Plans to support up to RKE2, kubeadm, and much more!
  • Nodes can optionally connect autonomously via a fully meshed peer-to-peer (P2P) hybrid VPN network. It allows you to stretch a cluster up to 10000 km! Kairos can create private virtual network segments to enhance your cluster perimeter without any single point of failure (SPOF).

More than a Linux distribution

Kairos is available as ISO, qcow2, and NetBoot artifact for user convenience, but it is more than that. It allows turning any Linux distribution into a uniform, conformant distribution with an immutable design. As such, any distribution which is converted will share the same, common feature set between all of them, and they are managed in the same way by Kubernetes Native API components.

Any input OS will inherit:

  • Immutability
  • A/B upgrades
  • Booting mechanism fallback
  • Boot assessment
  • Single image, container-based atomic upgrades
  • Cloud-init support
  • All the Kairos feature-set

Kairos treats all the operating environments homogeneously in a distribution-agnostic fashion.

The OS is a container image. That means that upgrades to nodes are distributed via container registries.

Installations medium and other assets, required to boot bare metal or Edge devices, are built dynamically by the Kubernetes Native API components provided by Kairos.

livecd

Goals

The Kairos ultimate goal is to bridge the gap between Cloud and Edge by creating a smooth user experience. Several areas in the ecosystem can be improved for edge deployments to make it in pair with the cloud.

The Kairos project encompasses all the tools and architectural pieces needed to fill those gaps. This spans between providing Kubernetes Native API components to assemble OSes, deliver upgrades, and control nodes after deployment.

Kairos is distribution-agnostic and embraces openness: the user can provide their own underlying base image, and Kairos onboards it and takes it over to make it cloud-native, immutable, and plugs into an already rich ecosystem by leveraging containers as a distribution medium.

Contribute

Kairos is an open-source project, and any contribution is more than welcome! The project is big and narrows to various degrees of complexity and problem space. Feel free to join our chat, discuss in our forums and join us during Office hours. Check out the contribution guidelines to see how to get started and our governance.

We have an open roadmap, so you can always have a look at what's going on and actively contribute to it.

Useful links:

Community

You can find us at:

Project Office Hours

Project Office Hours is an opportunity for attendees to meet the maintainers of the project, learn more about the project, ask questions, and learn about new features and upcoming updates.

Add to Google Calendar

Office hours are happening weekly on Wednesday, 5:30 – 6:00 pm CEST (Central European Summer Time). Meeting link

Besides, we have monthly meetups to participate actively in the roadmap planning and presentation:

Roadmap planning

We will discuss agenda items and groom issues, where we plan where they fall into the release timeline.

Occurring: Monthly on the first Wednesday, 5:30 – 6:30 pm CEST. Meeting link

Roadmap presentation

We will discuss the items of the roadmaps and the expected features in the next releases.

Occurring: Monthly on the second Wednesday, 5:30 pm CEST Meeting link

Alternatives

Other projects are similar to Kairos which are great and worth mentioning, and actually, Kairos took to some degree inspiration. However, Kairos has different goals and takes completely unique approaches to the underlying system, upgrade, and node lifecycle management.

Development

Building Kairos

Requirements: Needs only docker.

Run ./earthly.sh +all --FLAVOR=opensuse, which should produce a Docker image along with a working ISO.

About

🐧 The immutable Linux meta-distribution for edge Kubernetes.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 86.2%
  • Earthly 9.7%
  • Shell 4.0%
  • PowerShell 0.1%