
Talos Linux
A Linux distribution that only runs Kubernetes: immutable, minimal, with no shell or SSH, and managed entirely through an API.
- What it is
- Container orchestration
- Part of
- Kubernetes distribution
- Type
- Open source
- Made by
- Sidero Labs
- License
- MPL 2.0 (Omni, its management platform, is source-available under BUSL 1.1)
- Facts checked
- 6 October 2026
What it is
Talos Linux keeps the Linux kernel and replaces everything above it with its own components written in Go. PID 1 is machined, not systemd, and it won’t start arbitrary services. There is no shell, no SSH, no package manager and none of the GNU utilities; the whole OS is a signed SquashFS image under 80 MB that is mounted read-only into memory, even when installed to disk. The only writable state is a few files under /system that are rebuilt on each boot and an XFS partition at /var for etcd, the kubelet and containerd, which Talos treats as disposable.
Every machine is described by one YAML machine config, covering both the OS and the Kubernetes it forms. You manage nodes with talosctl, which talks to an encrypted, key-authenticated gRPC API (apid) on each node: apply a config, read logs, reboot, upgrade, bootstrap etcd. Upgrades swap in a new OS image with an A-B scheme and roll back automatically if the new one doesn’t boot. Drivers and extra tools come as system extensions baked into the image, for example by Sidero’s Image Factory. Omni, Sidero’s cluster manager, adds a UI, single sign-on and fleet-wide upgrades as a SaaS or self-hosted, but under a source-available licence that requires a paid licence for production.
Why teams pick it
- Tiny attack surface: no shell, SSH or passwords, a kernel hardened along Kernel Self Protection Project lines, and fewer than 50 binaries by Sidero’s count
- Nodes are cattle: one declarative config per role, and any node can be wiped and rebuilt from it
- Atomic A-B upgrades with automatic rollback, driven by API calls you can script
- Runs the same on AWS, Azure, GCP and about ten other clouds, on VMware, Proxmox and bare metal, and on boards like the Raspberry Pi 4
Watch out for
- No shell means debugging is different: you inspect nodes through
talosctlAPI calls such asdmesgandmemory, and anything a node needs must be in the image or the config - Community support for a release ends when the next minor release ships, about every four months; enterprise support comes from Sidero Labs
- FIPS-compliant builds, SBOMs per build, CVE SLAs and indemnity are only in the paid Talos Enterprise Linux licence
- A node in maintenance mode accepts an unauthenticated config by design, so first boot needs a trusted network or a config supplied at boot
More of the Kubernetes family
What all container orchestration have in common →
MicroK8sOpen sourceDistributionsCanonical’s Kubernetes in one snap package: installs with one command on Linux, forms a highly available cluster by itself at three nodes, and adds features as addons.
RKE2Open sourceDistributionsSUSE’s security-focused Kubernetes distribution: one binary per node, hardened defaults, FIPS-validated crypto and close alignment with upstream.
Amazon EKSAWSManaged servicesAWS runs the Kubernetes control plane for you; you choose how much of the worker side to hand over too.
kindOpen sourceFor local developmentKubernetes IN Docker: each cluster node is a container, so a conformant multi-node cluster starts and disappears inside a CI job.
minikubeOpen sourceFor local developmentA local Kubernetes cluster for developers on Linux, macOS or Windows, in a container, a VM or on the host itself, with laptop-friendly extras.
AgonesOpen sourceBuilt on itRuns dedicated multiplayer game servers on Kubernetes: keeps a fleet of them warm, hands one to each match, and never kills a server while players are on it.
KlutchOpen sourceBuilt on itA young open-source control plane, built on Crossplane, that lets many application clusters order databases from one central Kubernetes cluster.How it fits with other technologies
What Talos Linux uses
Turn a machine booted from the Talos ISO into a one-node control plane · bash
# generate controlplane.yaml, worker.yaml and talosconfig (client credentials)
talosctl gen config my-cluster https://$CONTROL_PLANE_IP:6443 --install-disk /dev/sda
# the node waits in maintenance mode for its config
talosctl apply-config --insecure --nodes $CONTROL_PLANE_IP --file controlplane.yaml
talosctl --talosconfig=./talosconfig config endpoints $CONTROL_PLANE_IP
talosctl bootstrap --nodes $CONTROL_PLANE_IP --talosconfig=./talosconfig # once, on one node
talosctl kubeconfig --nodes $CONTROL_PLANE_IP --talosconfig=./talosconfig
talosctl --nodes $CONTROL_PLANE_IP --talosconfig=./talosconfig healthSee it in a real stack
No architecture uses Talos Linux yet. Drop it into the playground and wire it up yourself.Open playground →Where it came from2017–2026
Talos began as a nights-and-weekends project by Andrew Rynhard, who was tired of automating the same general-purpose Linux servers over and over. His question was what an operating system would look like if it existed only to run Kubernetes. The repository dates from late 2017 and the first alpha release from April 2018. Container-optimised systems such as CoreOS already existed, but in Rynhard’s view they still carried the baggage of general-purpose Linux.
Talos Systems launched as a company in June 2019 to support it, planning to sell services, support and management tools. A trademark clash with Cisco’s Talos security group led it to rename itself Sidero Labs in October 2021, while the OS kept the Talos name. Talos 1.0 followed in March 2022. Omni, a hosted manager for Talos clusters, came next; in February 2024 Sidero published its source under the Business Source License so people could self-host it for non-production use.
In September 2026 Yardi, a large private software company that ran Talos in production, acquired Sidero Labs. Sidero said Talos stays MPL-2.0 and the company keeps operating independently, and the next day launched Talos Enterprise Linux, a commercial licence for compliance artifacts and FIPS builds.
Why it’s built this way
- An API instead of a shell
- Logging into nodes to fix them by hand makes servers drift apart. With no console or SSH, every change goes through one authenticated, declarative API, so nodes built from the same config stay identical.
- Rewrite the userspace from PID 1
- Trimming an existing distribution still leaves its init system, utilities and libraries. Writing
machinedand the other services in Go meant shipping only what Kubernetes needs, so there are far fewer packages to patch and vulnerabilities to track. - Run from a read-only image, keep state ephemeral
- Because the OS is one signed SquashFS image and the writable partition holds only replicated or rebuildable data, a broken node can be wiped and rebuilt from its config, and its image can be checked for tampering.
- A-B image upgrades
- Upgrading a whole image instead of packages means each node runs a known, tested version. Keeping the previous image lets a node that fails to boot fall back automatically.
Timeline
- 2017
Talos repository created in November
- 2018
First alpha release, v0.1.0-alpha.0, in April
- 2019
Talos Systems launches as a company in June
- 2021
Company renamed Sidero Labs after a trademark clash
- 2022
Talos 1.0 released in March
- 2024
Omni source code published under the Business Source License
- 2026
Yardi acquires Sidero Labs; Talos Enterprise Linux launches
- Sidero Labs blog, Andrew Rynhard: Talos Linux and Omni, an origin story (May 2025)
- Talos repository on GitHub (created November 2017)
- Talos v0.1.0-alpha.0 release on GitHub (Apr 2018)
- Sidero Labs blog: Launching Talos Systems (Jun 2019)
- Sidero Labs blog: Talos Systems is now Sidero Labs (Oct 2021)
- Talos v1.0.0 release on GitHub (Mar 2022)
- Sidero Labs blog, Andrew Rynhard: Talos 1.0, what a minimal OS enables (Apr 2022)
- Sidero Labs blog: Omni source code now available (Feb 2024)
- Sidero Labs blog: Sidero Labs joins Yardi (Sep 2026)
- Sidero Labs blog: Introducing Talos Enterprise Linux (Sep 2026)
- Talos docs: Philosophy (not based on another distro, no systemd)
Sources14 · facts checked 6 October 2026
- Talos docs: What is Talos Linux? (API managed, runs the control plane and etcd)
- Talos docs: Philosophy (SquashFS under 80 MB, no shell or SSH, KSPP, one YAML config)
- Talos docs: Architecture (partitions, read-only rootfs in memory, /system, /var)
- Talos docs: Components (apid, machined, trustd, containerd)
- Talos docs: Getting started (gen config, maintenance mode, apply-config, bootstrap)
- Talos docs: Upgrading Talos Linux (A-B images, automatic and manual rollback)
- Talos docs: System extensions
- Talos docs: Image Factory
- Talos docs: Support matrix (platforms, end of community support, enterprise support)
- Omni docs: What is Omni? (SaaS or on-prem, BUSL, production needs a commercial licence)
- Omni LICENSE on GitHub (Business Source License 1.1, changes to MPL 2.0)
- Sidero Labs blog, Andrew Rynhard: origin story (fewer than 50 binaries)
- Sidero Labs blog: Introducing Talos Enterprise Linux (FIPS builds, SBOMs, CVE SLAs) (Sep 2026)
- Talos repository on GitHub (MPL 2.0)