# Kairos > Transform your Linux system and preferred Kubernetes distribution into a secure bootable image for your edge devices - [Events](https://kairos.io/events/): Upcoming and recent events featuring Kairos and its maintainers - [Press](https://kairos.io/press/): Press releases and coverage featuring Kairos and its maintainers - [Getting Started](https://kairos.io/getting-started/) - [Hadron Quickstart](https://kairos.io/quickstart/): Deploy an immutable Kubernetes cluster with Hadron by Kairos, faster than a coffee break. - [Documentation](https://kairos.io/docs/): Explore the official documentation for Kairos and discover how it simplifies lifecycle management across edge, cloud, and bare metal environments. ## Events > Upcoming and recent events featuring Kairos and its maintainers ## Press > Press releases and coverage featuring Kairos and its maintainers ## Getting Started - [Configuring your newly deployed Kairos cluster](https://kairos.io/getting-started/initial-configuration) - [What is Kairos?](https://kairos.io/getting-started/what-is-kairos) - [Build a Kairos Image and Upgrade Your Cluster](https://kairos.io/getting-started/building-and-upgrading) ## Hadron Quickstart > Deploy an immutable Kubernetes cluster with Hadron by Kairos, faster than a coffee break. - [Extending the System via Dockerfiles](https://kairos.io/quickstart/extending-the-system-dockerfile): Build a custom Hadron image using a Dockerfile, add an extra binary, publish it to an OCI registry, and upgrade a running node to the new image. - [Lifecycle Management](https://kairos.io/quickstart/lifecycle-management): Learn how Kairos handles lifecycle management with atomic, image-based upgrades. Upgrade a running node to a newly built OCI image, reboot into it, verify the new version, and confirm your added binary is available—while keeping rollback paths intact. - [Trusted Boot](https://kairos.io/quickstart/trusted-boot): Learn how to deploy Kairos Hadron with Trusted Boot on a VM. ## Documentation > Explore the official documentation for Kairos and discover how it simplifies lifecycle management across edge, cloud, and bare metal environments. - [Installation](https://kairos.io/docs/installation/): Discover multiple ways to install Kairos across cloud, bare metal, and virtualized environments. - [Architecture](https://kairos.io/docs/architecture/): Deep dive into Kairos architecture. Here you will learn in detail how the main features of Kairos have been designed. - [Advanced Topics](https://kairos.io/docs/advanced/): Learn how to configure advanced Kairos features such as system extensions, partitions, bundles, and confidential computing. - [Upgrade](https://kairos.io/docs/upgrade/): After your system has been running for a while, you will need to upgrade it to a different version. Check out the following sections to learn the different ways to upgrade Kairos. - [Reference](https://kairos.io/docs/reference/): Access essential reference materials for configuring, building, and troubleshooting Kairos nodes and images. - [Development](https://kairos.io/docs/development/): Want to help develop Kairos? This section will teach you about our development process so you can become a contributor. - [Examples](https://kairos.io/docs/examples/): Explore hands-on examples that show how to deploy Kairos clusters using K3s, bundles, VPNs, airgapped environments, and more. - [Media](https://kairos.io/docs/media/) - [Announcements](https://kairos.io/docs/announcements/) ### Installation > Discover multiple ways to install Kairos across cloud, bare metal, and virtualized environments. - [Building Kairos images for NVIDIA Jetson](https://kairos.io/docs/installation/nvidia-jetson-images/): Build a Kairos image for a Jetson AGX Orin, Orin NX or AGX Thor via kairos-init. - [Check the Signatures](https://kairos.io/docs/installation/check-the-signatures/) - [Installation on AWS](https://kairos.io/docs/installation/aws/): Install Kairos on AWS - [Interactive](https://kairos.io/docs/installation/interactive/): Install Kairos interactively - [Manual installation](https://kairos.io/docs/installation/manual/): Install Kairos manually - [QR Code](https://kairos.io/docs/installation/qrcode/): Use the QR code displayed at boot to drive the installation - [WebUI](https://kairos.io/docs/installation/webui/): Use the WebUI at boot to drive the installation - [Automated](https://kairos.io/docs/installation/automated/): Install Kairos automatically, with zero touch provisioning - [Installation on Google Cloud](https://kairos.io/docs/installation/gce/): Install Kairos on Google Cloud - [Installation on Microsoft Azure](https://kairos.io/docs/installation/azure/): Install Kairos on Microsoft Azure - [Installing on Bare-Metal](https://kairos.io/docs/installation/bare-metal/) - [Installation on Hetzner Cloud](https://kairos.io/docs/installation/hetzner/): Install Kairos on Hetzner Cloud - [Nvidia AGX Orin](https://kairos.io/docs/installation/nvidia_agx_orin/): Install Kairos on Nvidia AGX Orin - [RaspberryPi](https://kairos.io/docs/installation/raspberry/): Install Kairos on RaspberryPi - [Network booting](https://kairos.io/docs/installation/netboot/): Install Kairos from network - [P2P support](https://kairos.io/docs/installation/p2p/): Install Kairos with p2p support - [Trusted Boot Installations](https://kairos.io/docs/installation/trustedboot/): Learn how to enable Trusted Boot with Secure Boot, full disk encryption, and measured boot to protect systems from tampering. - [Takeover](https://kairos.io/docs/installation/takeover/): Learn how to enable Trusted Boot support in Kairos, which combines FDE, Secure Boot, and Measured Boot to protect your system from tampering and cold attacks. - [Installation with Canonical MaaS](https://kairos.io/docs/installation/maas/): Deploy Kairos on bare metal fleets managed by Canonical MaaS - [Nvidia AGX Thor](https://kairos.io/docs/installation/nvidia_agx_thor/): Install Kairos on Nvidia AGX Thor, a powerful edge device designed for AI workloads, to enable real-time data processing and analytics at the edge. - [Nvidia Orin NX](https://kairos.io/docs/installation/nvidia_orin_nx/): Install Kairos on Nvidia Orin NX ### Architecture > Deep dive into Kairos architecture. Here you will learn in detail how the main features of Kairos have been designed. - [Immutable](https://kairos.io/docs/architecture/immutable/): Learn about Kairos' immutable architecture design, where the system boots in a restricted, permissionless mode with read-only paths. Discover how this approach enhances security, simplifies maintenance, and enables predictable upgrades across your infrastructure. - [Container based](https://kairos.io/docs/architecture/container/): Discover how Kairos delivers its entire OS as a container image, enabling predictable upgrades and simple version control. - [Cloud init based](https://kairos.io/docs/architecture/cloud-init/) - [SecureBoot support](https://kairos.io/docs/architecture/secureboot/): Learn how Kairos supports Secure Boot using signed artifacts to ensure system integrity across distributions. - [Meta-Distribution](https://kairos.io/docs/architecture/meta/) - [P2P Network](https://kairos.io/docs/architecture/network/): How Kairos leverage Peer-to-peer (P2P) to self-coordinate clusters at the edge. - [Trusted Boot Architecture](https://kairos.io/docs/architecture/trustedboot/) - [Providers](https://kairos.io/docs/architecture/providers/): Understand Kairos providers, how they integrate with kairos-agent, and how provider-kairos fits into the architecture. ### Advanced Topics > Learn how to configure advanced Kairos features such as system extensions, partitions, bundles, and confidential computing. - [Configuring partitions](https://kairos.io/docs/advanced/configuring_partitions/) - [Creating Custom Cloud Images](https://kairos.io/docs/advanced/creating_custom_cloud_images/): A comprehensive guide to creating custom cloud images with Kairos using the latest tools - [Pushing configuration to a node after installation](https://kairos.io/docs/advanced/after-install/) - [Customizing the system image](https://kairos.io/docs/advanced/customizing/): Learn how to customize Kairos images to suit your needs - [Multi-disk installation with dynamic device selection](https://kairos.io/docs/advanced/multi-disk-dynamic-partitioning/) - [Private registries authentication](https://kairos.io/docs/advanced/private_registry_auth/) - [Build Kairos appliances](https://kairos.io/docs/advanced/build/): Learn how to build Kairos images from scratch - [Extending the system with systemd extensions](https://kairos.io/docs/advanced/sys-extensions/) - [Networking](https://kairos.io/docs/advanced/networking/) - [Using /opt with System Extensions](https://kairos.io/docs/advanced/adding_opt_to_system_extensions/) - [Bundles](https://kairos.io/docs/advanced/bundles/): Bundles are a powerful feature of Kairos that let you customize and configure your operating system. This section explains how to use and build custom bundles. - [Encrypting User Data with Kairos](https://kairos.io/docs/advanced/partition_encryption/): This section describes how to encrypt partition with LUKS in Kairos. - [Confidential computing setup](https://kairos.io/docs/advanced/coco/) - [Revoking secure boot access](https://kairos.io/docs/advanced/revoking-secureboot-access/) ### Upgrade > After your system has been running for a while, you will need to upgrade it to a different version. Check out the following sections to learn the different ways to upgrade Kairos. - [Manual Upgrades](https://kairos.io/docs/upgrade/manual/): Learn how to manually upgrade Kairos Active and Recovery images - [Upgrading from Kubernetes](https://kairos.io/docs/upgrade/kubernetes/): Learn how to upgrade Kairos using Kubernetes - [Installing Kairos Operator](https://kairos.io/docs/upgrade/kairos-operator/): Install the Kairos operator for managing upgrades and operations - [Installing system-upgrade-controller (Deprecated)](https://kairos.io/docs/upgrade/system-upgrade-controller/): Install the system-upgrade-controller (deprecated - use Kairos operator instead) - [Trusted Boot Upgrades](https://kairos.io/docs/upgrade/trustedboot/): Learn how to upgrade a Kairos node with Trusted Boot enabled - [Boot assessment](https://kairos.io/docs/upgrade/boot_assessment/): Learn how Kairos handles failed upgrades ### Reference > Access essential reference materials for configuring, building, and troubleshooting Kairos nodes and images. - [Architecture](https://kairos.io/docs/reference/architecture/): Explore the internal design of Kairos and how its modular, container-based approach supports secure, reproducible infrastructure. - [Artifact Naming Convention](https://kairos.io/docs/reference/artifacts/): Detailed information about how we name our artifacts including repositories. - [AuroraBoot](https://kairos.io/docs/reference/auroraboot/): Reference documentation for AuroraBoot, a tool for generating bootable images - [Configuration](https://kairos.io/docs/reference/configuration/): Welcome to the Kairos configuration reference page. This page provides details on the fields available in the YAML file used for installing Kairos, a Linux distribution focused on running Kubernetes. This file, written in cloud-config format, allows you to enable Kairos features, configure k3s, and set various other options. - [kairosctl](https://kairos.io/docs/reference/kairosctl/): Learn how to use kairosctl to register nodes, generate tokens, and manage VPN connections securely and efficiently. - [Stage modules](https://kairos.io/docs/reference/stage_modules/): Explore built-in modules for DNS, users, files, and services that help you customize Kairos via cloud-init during boot stages. - [Bring Your Own Image (BYOI)](https://kairos.io/docs/reference/byoi/): Build and publish your own Kairos images while keeping full control of release cadence. - [Reset a node](https://kairos.io/docs/reference/reset/): Discover how to reset a Kairos node using boot options, Kubernetes integration, or recovery tools while preserving config data. - [The Kairos Factory](https://kairos.io/docs/reference/kairos-factory/): Converting any base image into a Kairos ready image - [Build Kairos from scratch](https://kairos.io/docs/reference/build-from-scratch/): This article shows how to bring your own image with Kairos, and build a Kairos derivative from scratch using base container images from popular distributions such as Ubuntu, Fedora, openSUSE, etc. - [Build Raw images with QEMU](https://kairos.io/docs/reference/build_raw_images_with_qemu/): This article shows how to bring your own image with Kairos, and build a Kairos derivative from scratch using base container images from popular distributions such as Ubuntu, Fedora, openSUSE, etc. - [Image support matrix](https://kairos.io/docs/reference/image_matrix/) - [Troubleshooting](https://kairos.io/docs/reference/troubleshooting/) - [Recovery mode](https://kairos.io/docs/reference/recovery_mode/) - [Entangle CRDs](https://kairos.io/docs/reference/entangle/): Inter-connecting Kubernetes clusters without the need of exposing any service to the public via E2E P2P encrypted networks. - [FAQ](https://kairos.io/docs/reference/faq/) - [Manage kcrypt data in TPM NV storage](https://kairos.io/docs/reference/kcrypt-tpm-nv/): Inspect, read, and remove kcrypt data from TPM non-volatile storage. - [Alerts Styling](https://kairos.io/docs/reference/alerts/) - [Branding](https://kairos.io/docs/reference/branding/): Customize the appearance and behavior of Kairos components ### Development > Want to help develop Kairos? This section will teach you about our development process so you can become a contributor. - [Development notes](https://kairos.io/docs/development/notes/): Learn how to contribute to Kairos by exploring its development practices, debugging tools, and supported hardware. - [Debugging station](https://kairos.io/docs/development/debugging-station/): Debugging station - [Booting Kairos on Nvidia Jetson ARM](https://kairos.io/docs/development/nvidia/): This page contains a reference on how to run Kairos on Nvidia Jetson ARM ### Examples > Explore hands-on examples that show how to deploy Kairos clusters using K3s, bundles, VPNs, airgapped environments, and more. - [Enabling Automatic Boot Assessment with Trusted Boot](https://kairos.io/docs/examples/boot_assessment_trusted_boot/): This section describe examples on how to enable Automatic Boot Assessment with Trusted Boot in your own services. - [A Minimal Single-Node Kubernetes with Kubeadm](https://kairos.io/docs/examples/kubeadm-provider/): Learn how to build a Kairos image for a single-node Kubernetes cluster using the provider-kubeadm. - [Adding persistent paths after install](https://kairos.io/docs/examples/extra_persistent_paths_after_install/): This section describes examples on how to add persistent paths after install - [Bandwidth Optimized Upgrades](https://kairos.io/docs/examples/bandwidth-optimized-upgrades/): This section describes how to optimize bandwidth usage during OS upgrades using distributed caching solutions. - [Bundles](https://kairos.io/docs/examples/bundles/): This section describe examples on how to use a Kairos bundle to deploy MetalLB on top of K3s - [Choosing Kubernetes Distribution](https://kairos.io/docs/examples/choosing-kubernetes-distribution/): Build a Kairos image with Kubernetes enabled using the supported provider-kairos options. - [Configuring WiFi via Cloud-Config](https://kairos.io/docs/examples/wifi/): This section describe examples on how to deploy Kairos with WiFi - [Deploy a k0s Cluster Step by Step](https://kairos.io/docs/examples/k0s-cluster/): A complete beginner-friendly walkthrough to bootstrap a multi-node Kubernetes cluster with the k0s provider, choosing exactly which nodes act as controllers and which as workers. - [Deploying kernel firmware via sysext on Trusted Boot](https://kairos.io/docs/examples/trusted-boot-firmware-sysext/): This section describes an examples on how to deploy the kernel firmware via sysext on Trusted Boot - [Enabling kdump](https://kairos.io/docs/examples/kdump/): This section describe examples on how to enable kdump in Kairos derivatives - [FIPS](https://kairos.io/docs/examples/fips/): Build a Kairos image with FIPS packages enabled using kairos-init. - [Hetzner Cloud](https://kairos.io/docs/examples/hetzner-cloud/): Deploy Kairos with k3s and Cilium on Hetzner Cloud private networks, including correct CNI configuration to avoid silent packet drops from Hetzner's uRPF enforcement. - [How to Create an Airgap K3s Installation with Kairos](https://kairos.io/docs/examples/airgap/): This section describe examples on how to use AuroraBoot and Kairos bundles to create ISOs for airgapped installs - [Intel Open AMT Registration](https://kairos.io/docs/examples/openamt/): This bundle configures Intel AMT devices during Kairos installation. - [Kairos' Trusted Boot in Virtual Box](https://kairos.io/docs/examples/virtual-box/): This section describes how to use Virtual Box to boot Kairos in "Trusted boot" mode - [Keylime agent](https://kairos.io/docs/examples/keylime/): This section describes an example on how to create a custom derivative with the Keylime agent - [LocalAI](https://kairos.io/docs/examples/localai/): This section describe examples on how to deploy Kairos with k3s and LocalAI - [Manual Multi-Node Cluster](https://kairos.io/docs/examples/multi-node/): This section describe examples on how to deploy Kairos as a multi-node cluster - [Manual Multi-Node High Availability Cluster](https://kairos.io/docs/examples/ha/): This section contains instructions how to deploy Kairos with a High Available control-plane for K3s - [Manual Single-Node Cluster](https://kairos.io/docs/examples/single-node/): This section describe examples on how to deploy Kairos single-node cluster - [MetalLB](https://kairos.io/docs/examples/metallb/): This section describe examples on how to deploy Kairos with k3s and MetalLB - [P2P Multi-Node Cluster Provisioned via Netboot](https://kairos.io/docs/examples/p2p_e2e/): Full end to end example to bootstrap a self-coordinated cluster with Kairos and AuroraBoot - [Run stages along with K3s](https://kairos.io/docs/examples/k3s-stages/): This section describes a method to run stages with k3s. - [Self-configured P2P Single-Node Cluster](https://kairos.io/docs/examples/single-node-p2p/): This documentation page provides instructions on how to install Kairos with P2P support on a single-node cluster - [Self-coordinating P2P multi-node cluster](https://kairos.io/docs/examples/multi-node-p2p/): Install Kairos with p2p support, on a multi-node cluster - [Self-coordinating P2P Multi-Node Cluster with High Availability](https://kairos.io/docs/examples/multi-node-p2p-ha/): Kairos makes it easy to configure automatic High Availability (HA) in your cluster by using cloud-config. With just a few simple steps, you can have a fully-functioning HA setup in your cluster. - [Self-coordinating P2P Multi-Node Cluster with High Availability and KubeVIP](https://kairos.io/docs/examples/multi-node-p2p-ha-kubevip/): This guide walks through the process of deploying a highly-available, P2P self-coordinated k3s cluster with KubeVIP, which provides a high available Elastic IP for the control plane. - [Using Kairos Core Images as an Installer](https://kairos.io/docs/examples/core/): Core images serve as the foundation for creating downstream images or as an installer for deploying other images during the installation process. In this guide, we'll take a closer look at using Kairos core images as an installer to deploy other container images. - [Without Kubernetes](https://kairos.io/docs/examples/without-kubernetes/): Build a Kairos core image with kairos-init and no Kubernetes provider flags. ### Media - [Media](https://kairos.io/docs/media/): Discover Kairos in action through videos, presentation slides, and other media resources. ### Announcements