
Infrastructure
Talos Linux: The Security Case for an Immutable OS
Talos Linux vs Ubuntu for Kubernetes security: an immutable, API-only node ships almost no userspace to carry CVEs, and hardening Ubuntu cannot close that gap.
A minimal, purpose-built Kubernetes OS carries a dramatically smaller CVE surface than a general-purpose Linux distribution retrofitted to run one. Sidero Labs' own comparison, published 17 September 2025, ran sudo grype dir:/ on 3 September 2025 against up-to-date installs of four distributions — scanning the filesystem directly rather than container images, since images exclude components like the Linux kernel. Talos has no shell to run that command against, so its CVEs were pulled from its own SBOM instead, per Talos's SBOM documentation. The published table, in full: Talos Linux 1.11.0 — 0 critical, 29 high, 6 not-fixed. Flatcar 4230.2.2 — 27 critical, 75 high, 2 not-fixed. Ubuntu 22.04.05 — 280 critical, 1,943 high, 5,653 not-fixed. Rocky Linux 10 — 0 critical, 381 high, 10,808 not-fixed. Talos is not uniquely low on every column: Rocky also scores zero critical, and Flatcar's not-fixed count beats Talos's own. But Rocky is a general-purpose enterprise distribution like Ubuntu, not a minimal one — its 10,808 not-fixed CVEs are the highest of the four — while Flatcar is itself a minimal, immutable, container-optimized OS, closer in philosophy to Talos than to a retrofit distro. This article compares against Ubuntu specifically because it is the general-purpose, non-immutable comparator on that table, not because it is uniformly the worst row on the sheet. Against that baseline: 1.11.0 is now a release behind Talos's own two-latest-minors support window, and 22.04.05 predates the current Ubuntu LTS lines, so treat this as the most recent public data point rather than a live scorecard. That gap tracks a structural design difference: Ubuntu is a general-purpose operating system that has been retrofit to run Kubernetes, while Talos was built from the ground up for one purpose and eliminated everything else.
The retrofit model produces a well-understood failure mode. You install Ubuntu, harden it with a CIS remediation script, layer on AppArmor profiles, configure unattended-upgrades, lock down sshd, and call it a Kubernetes node. Every one of those controls is correct. None of them close the underlying attack model: the bash binary is still on disk, apt is still present, Python 3 is still installed, cron is still running, and there is an SSH daemon that can be re-enabled, misconfigured, or brute-forced. You have scored well on a benchmark while leaving the threat model intact.
This article makes the hard-numbers case for Talos Linux as the sovereign baseline for Kubernetes node infrastructure — not a homelab curiosity, but the node OS this article argues for wherever the node layer carries regulatory, audit, or breach-consequence weight. It covers the CVE evidence, the structural attack surface difference, the operational upgrade model, and exactly what you lose and what you do not actually need. It also maps directly to NIS2 and DORA audit evidence requirements, because in 2026 those are not preferences — they are contractual obligations.
Why the Node Layer Is Your Biggest Unpriced Risk
The Kubernetes control plane and the application workloads running in pods absorb most of the security conversation. The node OS sits underneath both and is routinely underspecified. This is a category error with real consequences.
A compromised Kubernetes node is categorically different from a compromised pod. A pod runs with the constraints of its security context, namespace isolation, and network policy. A compromised node means the attacker is operating at the kernel level, has access to all pod processes and filesystems via /proc, can read unencrypted Kubernetes API traffic from memory, and can access the kubelet's node-scoped credentials — which grant control over all pods on that node, access to every pod's mounted secrets and service-account tokens, and the ability to manipulate node objects in the API server. The blast radius is not one workload — it is the entire node and potentially the cluster.
The threat paths to node compromise are well-documented: container escape via kernel exploits, SSH brute force or credential theft, supply chain compromise of a package installed during initial provisioning, or lateral movement from a compromised pod using a writable node filesystem path. Every one of these paths depends on the existence of attack surface on the node. If the attack surface does not exist, the path closes.
What "Immutable" Actually Means (and What It Doesn't)
The word "immutable" is overloaded in infrastructure discourse. It sometimes means "we use golden AMIs and replace nodes instead of patching them in place." That is an operational pattern, not an OS property. Talos is immutable in a structural sense: the root filesystem is mounted read-only at boot, signed with a known-good hash, and cannot be modified by any process running on the node — including root. There is no mechanism to write to /usr, /bin, /lib, or any OS path. The overlay mounts that exist are for runtime state that is expected to be ephemeral.
This matters because it closes an entire class of persistence techniques. A successful container escape on a Talos node does not allow the attacker to install a backdoor, modify a system binary, drop a cron job, or persist across reboots by writing to the node filesystem. The only persistent state available is the Talos configuration (which is managed via the mTLS-authenticated API and version-controlled in your repository) and the Kubernetes data stored in etcd. Post-exploitation options on a Talos node are dramatically reduced compared to any general-purpose Linux node.
Equally important is what immutability does not mean: it does not mean the system is static or unmanageable. Talos has a complete configuration model (MachineConfig) that covers networking, storage, kernel parameters, container runtime settings, Kubernetes component versions, and custom system extensions — the sysctls a node needs to act as a self-hosted mesh VPN exit node, such as IP forwarding or a TUN device, are declared the same way, not set by hand. The same model applies to adding a containerd Wasm shim for WebAssembly workloads: a system extension plus a MachineConfig patch, not a package install. All of it is applied declaratively via talosctl over a gRPC/mTLS API. You manage Talos nodes the way you manage Kubernetes — via API, with config stored in version control — not the way you manage a traditional Linux server.
The CVE Gap: Why the Numbers Are Structural, Not Incidental
The CVE delta shown above is not an indictment of Canonical's patching velocity — Ubuntu has excellent patch SLAs. The delta is an indictment of surface area: Ubuntu ships with hundreds of packages that exist to support the general-purpose OS use case, and every one of those packages is a potential source of CVEs. The 280-critical-versus-zero result cited above is Sidero Labs' own scan, current as of its September 2025 publication date, against Talos Linux 1.11.0 and Ubuntu 22.04.05. Talos provides security updates only for the two latest minor releases; as of this writing that is the v1.13.x and v1.12.x lines, so 1.11.0 — the version Sidero tested — is now a release behind. The structural argument does not depend on the exact figures staying current; the install and upgrade examples below use v1.13.9, the current release as of 2026-08-19.
A fresh Ubuntu 22.04 install includes Python 3, perl, bash, curl, wget, openssl, systemd, apt, dpkg, cron, the login stack, PAM, and thousands of shared libraries — most with no role in running Kubernetes. Each is a maintenance obligation: patch on CVE, regression-test, roll out across the fleet.
Talos Linux's image ships: the Linux kernel, containerd, the kubelet, apid (the management API daemon), trustd (certificate trust establishment), machined (machine lifecycle), and a minimal set of system utilities needed to boot and operate. It does not ship bash, Python, apt, cron, ssh, or any userspace package that is not required to run the above. Sidero Labs' comparison tracks a separate 'not-fixed' count alongside the critical/high totals — CVEs the maintainers have not yet remediated — and found all 6 of Talos's not-fixed CVEs traced back to the Linux kernel itself: unavoidable, present in every OS, and patched via a Talos image upgrade rather than a package manager.
API-Only Management: How Talos Eliminates the SSH Attack Class
SSH is the canonical lateral-movement mechanism in post-compromise scenarios. Once an attacker has node credentials — stolen from a CI system, exfiltrated from a secrets manager, or obtained via a credential stuffing attack on a jump host — SSH access to a Kubernetes node is effectively game over for that node. The attacker has an interactive shell, root escalation paths, and the full capability of the node's installed toolset.
Talos eliminates this attack class by removing SSH entirely. There is no sshd process, no SSH keys provisioned on nodes, and no shell to drop into. Node management is conducted exclusively through talosctl, which communicates with the apid daemon over gRPC with mutual TLS. Both client and server present certificates; the API rejects connections that cannot present a valid client cert signed by the cluster's certificate authority. Compromising a single client credential does not grant shell access — it grants API access scoped to what the certificate authorizes.
For debugging — the legitimate use case that makes most operators reluctant to remove SSH — Talos provides talosctl dmesg, talosctl logs <service>, talosctl read /proc/<pid>/..., and talosctl netstat. For re-provisioning emergencies, a node can be returned to maintenance mode (wipe STATE or boot the ISO), where the Talos API is served unauthenticated on port 50000 and a fresh MachineConfig is applied with talosctl apply-config --insecure; the console itself is a read-only dashboard, not a shell. The operations you actually need are available; the interactive shell with no legitimate production use case is not.
# Inspect running services and their logs
talosctl --nodes 10.0.1.5 services
talosctl --nodes 10.0.1.5 logs kubelet
# Read kernel messages and dmesg
talosctl --nodes 10.0.1.5 dmesg --follow
# Inspect network state
talosctl --nodes 10.0.1.5 netstat
talosctl --nodes 10.0.1.5 routes
# Read arbitrary files from the node filesystem
talosctl --nodes 10.0.1.5 read /proc/sys/kernel/dmesg_restrict
# Apply a config change declaratively
talosctl --nodes 10.0.1.5 apply-config --file machine-config.yaml
# Upgrade a node to a new Talos image (atomic A/B; boot-failure auto-fallback)
talosctl --nodes 10.0.1.5 upgrade --image ghcr.io/siderolabs/installer:v1.13.9The certificate trust model deserves attention. Talos generates a cluster-specific CA during talosctl gen config. Treat the talosconfig client credential like a kubeconfig admin credential; in production, issue short-lived certs via a PAM or secrets manager. The access model is auditable — not a perpetual SSH key in ~/.ssh/authorized_keys that has not been rotated in years.
Retrofitted vs. Structural Security: CIS Benchmarks Are Not the Same as an Immutable Rootfs
Scoring well on a CIS benchmark while running a general-purpose OS is not the same as having a small attack surface. It means you have configured a large attack surface carefully — until the next operator, the next automation script, or the next package update undoes one of those configurations.
CIS benchmarks are an important industry baseline and the right starting point for any node hardening effort. The Center for Internet Security's Kubernetes and Linux benchmarks cover SSH configuration, filesystem permissions, kernel parameters, audit logging, and dozens of other controls. Running a CIS scan and getting a green report is meaningful — it tells you that the controls were applied at the time of the scan. What it does not tell you is whether those controls will remain applied, whether a subsequent package install or configuration drift will undo them, or whether the underlying threat model is addressed or merely obscured.
Consider the CIS Ubuntu 22.04 control for disabling root SSH access (Ensure sshd PermitRootLogin is disabled — 5.1.20 in the ansible-lockdown/CIS v2.0.0 numbering used by common automation; CIS renumbers SSH controls between benchmark revisions). On a hardened Ubuntu node, this passes because PermitRootLogin no is set in sshd_config. The control passes. But the SSH daemon is still running, the password authentication stack is still present, and a configuration management drift event — an Ansible role applied without the security profile, a manual edit, a package update that resets the config — can undo it. The check passes because a human configured something. The underlying resource (the SSH daemon, the auth stack) still exists.
On a Talos node, the same control passes because there is no SSH daemon, no sshd_config, and no auth stack to misconfigure. The check passes because the attack surface does not exist. No drift event can undo it. No subsequent package install can introduce it. This is the structural versus configurational distinction: the same benchmark outcome achieved by eliminating a resource versus by configuring it carefully.
This distinction matters in audit evidence contexts that are increasingly demanding under NIS2 and DORA. An auditor asking "how do you ensure nodes cannot be accessed via SSH?" receives two different answers: "we configure and monitor sshd" versus "there is no sshd and no mechanism to install one." Only one of those answers closes the finding without follow-up controls.
Production Upgrade Model: Atomic OS Updates vs. `apt upgrade` Drift
The operational upgrade model is where the Talos advantage compounds over time. On an Ubuntu-based Kubernetes node fleet, OS patching involves: running apt update && apt upgrade across nodes, testing that the upgraded packages haven't introduced regressions in the Kubernetes runtime, draining and rebooting nodes one at a time, and accepting that the resulting nodes are all slightly different from each other depending on the order of package resolution, the packages installed locally for debugging purposes, and any manual changes made since initial provisioning. After six months, no two nodes in a large fleet have identical package states.
Talos upgrades are atomic at the image level. A Talos node runs a specific, immutable image identified by a content hash. When you upgrade, talosctl upgrade writes the new image to the inactive A/B partition and reboots into it. If the new image fails to boot, the bootloader falls back to the previous Talos kernel and image automatically; if the node boots and Talos starts, the bootloader change is committed, and a further rollback is an explicit talosctl rollback against that node. There is no partially-upgraded package state and no package-level divergence across upgraded nodes.
version: v1alpha1
debug: false
machine:
type: worker
token: <bootstrap-token>
ca:
crt: <base64-encoded-ca-cert>
key: ""
# Kernel parameters applied at boot — no sysctl.d drift possible
sysctls:
net.ipv4.ip_forward: "1"
net.bridge.bridge-nf-call-iptables: "1"
# Custom extensions (e.g., iscsi-tools, i915 GPU drivers)
# are compiled into the image — not installed at runtime
install:
disk: /dev/sda
image: ghcr.io/siderolabs/installer:v1.13.9
wipe: false
# Network configuration — fully declarative
network:
hostname: worker-01
interfaces:
- interface: eth0
dhcp: false
addresses:
- 10.0.1.5/24
routes:
- network: 0.0.0.0/0
gateway: 10.0.1.1
cluster:
controlPlane:
endpoint: https://10.0.1.10:6443
clusterName: production
network:
podSubnets:
- 10.244.0.0/16
serviceSubnets:
- 10.96.0.0/12The operational consequence is significant for fleet management at scale. A 30-node cluster on Ubuntu requires 30 individual upgrade operations with validation at each step, a coordinated maintenance window, and a rollback procedure that is itself a manual multi-step process. The same cluster on Talos uses talosctl upgrade-k8s (for Kubernetes component upgrades) and talosctl upgrade (for OS image upgrades): talosctl upgrade is invoked per node (sequence it yourself or via Omni/automation); talosctl upgrade-k8s already rolls Kubernetes control-plane components and the kubelet node by node without a fleet flag. Automatic rollback covers boot failure; unhealthy-but-booted nodes are rolled back with talosctl rollback. The operational load difference over a 12-month period, across a medium-sized fleet, is substantial by construction — fewer manual steps per patch cycle, no per-node package divergence to reconcile, and a rollback path that is a single talosctl rollback instead of a bespoke recovery runbook. Treat that as a reasoning chain rather than a benchmarked figure: the actual savings on any given fleet depend on its size, patch cadence, and current incident-response overhead.
Operational Gotchas: What You Lose (and What You Actually Don't Need)
The argument for Talos is strong enough that the gotchas deserve honest treatment. There are real constraints, and understating them produces failed deployments.
Node-level debugging is different. You cannot strace a process, install tcpdump, or drop into a root shell. Build observability into the cluster instead: structured logs from containerd, kubelet, and Talos services; metrics via the Talos API; Kubernetes events. talosctl support bundles logs and config into a diagnostic archive. Teams that make the transition usually needed better logs, not an interactive shell.
Custom kernel modules require build-time integration. If your workloads require specific kernel modules — GPU drivers, specialized network drivers, iscsi-tools for persistent storage over iSCSI — these must be packaged as Talos system extensions and compiled into a custom node image using the Talos Image Factory. You cannot modprobe a module you downloaded at runtime. The Image Factory makes this straightforward for common use cases (NVIDIA GPU support, Intel GPU, iscsi, etc. are maintained as official extensions), but bespoke kernel modules require a build pipeline. For production environments this is actually a feature — it means every module on every node is from a known-good image, not a runtime insmod of an unverified binary.
Stateful workload debugging is the real pain point. Kubernetes persistent volume issues that require direct filesystem inspection on the node (checking PVC mount points, examining write errors, validating block device state) are harder without a shell. talosctl read can inspect individual files, and talosctl ls can list directory contents, but complex sessions need structured observability and host-namespace debug pods — not a shell, and not maintenance mode (which is a re-provision path, not an interactive rescue). This is the one area where the constraint has real bite.
The learning curve is real but bounded. Talos has a well-documented API and a stable configuration model. The conceptual shift — from managing nodes as Linux servers to managing them as purpose-built appliances — takes a few weeks to internalize. After that, the operational model is simpler, not more complex. You are managing fewer things with fewer ways to break them.
Mapping Talos to NIS2/DORA Audit Evidence Requirements
In regulated environments operating under NIS2 (applicable to EU essential and important entities since October 2024) or DORA (full enforcement since January 2025), the node OS security posture is no longer a best-practice recommendation — it is an auditable control. Both regulations require demonstrable technical measures to protect network and information systems, with evidence that those measures are in place and cannot be trivially bypassed. The node layer is explicitly in scope.
For NIS2 Article 21(2)(e) — security of network and information systems — and DORA Article 9 — ICT security policies and procedures — the key audit questions at the node layer are: How do you ensure unauthorized access to node infrastructure is prevented? How do you detect and respond to configuration drift? How do you demonstrate that software running on nodes is from a verified, approved source? What is your patch management process and what is your documented patch latency SLA?
Talos produces clean answers to all four. The API-only management model with mTLS client certificates produces an access log — every talosctl invocation is authenticated and can be logged. The immutable rootfs means configuration drift is structurally impossible for OS-level configuration; the only drift that can occur is in the Kubernetes data plane, which is already monitored by your GitOps tooling. The node image content is deterministic and reproducible: a given image tag always produces the same binaries, and you can produce an SBOM of the image contents for audit evidence. Patch latency is the time between a new Talos image release and your talosctl upgrade run — measurable and auditable in a way a multi-step apt update && apt upgrade, regression-test, and reboot cycle is not, because the upgrade itself is a single atomic step rather than a sequence of manual gates.
For teams using KubeVigil to continuously validate cluster security posture, Talos nodes produce a substantially smaller findings surface: the controls that KubeVigil checks at the node layer — SSH access, read-only root filesystem, privileged host PID/network namespace access, writable /proc — are either structurally absent on Talos or already enforced by the immutable image. The audit report starts from a cleaner baseline.
# Pull the platform-specific installer manifest and list layer digests
crane manifest --platform linux/amd64 ghcr.io/siderolabs/installer:v1.13.9 | jq '.layers[].digest'
# Generate an SBOM of the signed release installer using Syft
syft ghcr.io/siderolabs/installer:v1.13.9 -o spdx-json > talos-1.13.9-sbom.spdx.json
# Verify the ghcr.io/siderolabs release installer signature (cosign keyless; dual identity per Sidero docs: @siderolabs.com human signers OR releasemgr-svc@talos-production.iam.gserviceaccount.com — older tags were often human-signed, current release tags may be GSA-signed; factory.talos.dev uses a different keyless subject and is not covered by this command)
cosign verify \
--certificate-identity-regexp '(@siderolabs\.com$|^releasemgr-svc@talos-production\.iam\.gserviceaccount\.com$)' \
--certificate-oidc-issuer https://accounts.google.com \
ghcr.io/siderolabs/installer:v1.13.9
# Scan the Talos SBOM for CVEs (Talos side of the comparison only; omit --fail-on if you expect known kernel highs)
grype sbom:./talos-1.13.9-sbom.spdx.json -o tableThe sovereignty argument here is precise: when you control the node OS — truly control it, at the image level, with a reproducible build and a signed artifact — you can demonstrate provenance to an auditor in a way that a retrofit-hardened Ubuntu node cannot. On Ubuntu, you can show that hardening scripts were run. On Talos, you can show the exact content of the node binary, signed by the vendor, reproducible from the source, and matched against a CVE database. That is a categorically stronger audit position, and it is the argument behind Talos's adoption in large, regulated deployments: Sidero Labs' published case studies include France's national railway and one of the world's largest private clouds at Nokia. For organizations operating on-premises Kubernetes infrastructure where the node layer carries regulatory, audit, or breach-consequence weight, that argument is the case this article makes for choosing Talos over a retrofit-hardened general-purpose distro.
§FAQ/Common questions
Frequently asked
How does Talos Linux compare to Ubuntu for Kubernetes node CVE exposure?
[Sidero Labs' own published comparison](https://www.siderolabs.com/blog/which-linux-distro-is-the-most-secure-for-kubernetes) — Grype run against up-to-date installs of four distributions on 3 September 2025, published 17 September 2025 (Talos has no shell to scan directly, so its CVEs were pulled from its own SBOM instead) — found zero critical and 29 high-severity CVEs on Talos Linux 1.11.0, against 280 critical and 1,943 high on Ubuntu 22.04.05. The same table scores Rocky Linux 10 at zero critical too, and Flatcar 4230.2.2 lower than Talos on not-fixed CVEs — Ubuntu is the comparator here because it is the table's general-purpose, non-immutable option (Flatcar is itself minimal and immutable; Rocky scores worse on total not-fixed CVEs), not because it is the worst row on the sheet. The gap is structural: Ubuntu ships hundreds of general-purpose packages; Talos ships only the kernel, container runtime, kubelet, and management API. Talos's current supported line is v1.13.x (v1.13.9 as of 2026-08-19) — 1.11.0 predates that window, and Ubuntu has newer LTS lines than 22.04.05 too, so re-run the comparison against current releases if you need live posture numbers.
Can you debug Kubernetes nodes without SSH access on Talos Linux?
Yes. Talos provides talosctl dmesg, talosctl logs, talosctl read, and talosctl netstat for node-level inspection. For in-cluster debugging, kubectl debug node/<name> creates an ephemeral privileged container in the host namespace. For re-provisioning emergencies, maintenance mode exposes the unauthenticated Talos API for talosctl apply-config --insecure; the console shows the dashboard only — there is still no shell. The interactive shell session is not needed in practice once teams invest in structured observability.
How do you install custom kernel modules or drivers on Talos Linux?
Custom kernel modules are packaged as Talos system extensions and compiled into a custom node image using the Talos Image Factory. Common extensions (NVIDIA GPU, Intel GPU, iscsi-tools, drbd) are maintained as official extensions and are a one-line addition to your image build. Modules cannot be installed at runtime — this is intentional and prevents runtime installation of unverified kernel code.
How does Talos Linux node upgrading work in a production fleet?
Talos upgrades are atomic at the image level using an A/B partition scheme. talosctl upgrade writes a new image to the inactive partition and reboots into it; boot failure auto-falls back to the prior image, while a successful boot that still leaves the node unusable is rolled back with talosctl rollback. There is no partially-upgraded package state. Fleet-wide OS image upgrades are sequenced by your automation or Omni; each node is upgraded with a separate talosctl upgrade, and upgrade-k8s already walks Kubernetes components node by node.
Does Talos Linux satisfy CIS Kubernetes benchmark requirements?
Yes, and more importantly, it satisfies them structurally rather than via configuration. CIS controls like 'no root SSH access' or 'read-only root filesystem' pass on Talos because SSH does not exist and the root filesystem is architecturally read-only. On Ubuntu, these controls pass because an operator configured them — a distinction that matters significantly in audit evidence contexts under NIS2 and DORA.
Is Talos Linux ready for enterprise production use in 2026?
Yes. Talos has crossed from homelab adoption into large-scale enterprise deployment: [Sidero Labs' published case studies](https://www.siderolabs.com/case-studies) include France's national railway, Nokia's private cloud, Equinix, and JYSK's 3,400 edge deployments. Sidero Labs [offers commercial enterprise support](https://www.siderolabs.com/support-and-services) with SLAs, which matters for procurement processes that require a vendor support contract. The lower-operational-cost case is structural rather than independently benchmarked here: fewer manual steps per patch cycle and a one-command rollback path, not a measured percentage.
Further reading
- KubeEdge Device Twins and the Industrial Data Plane
- Kubernetes audit logs into a SIEM you operate: Wazuh
- Clusters as Cattle: Cluster API for Fleets on Owned Infra
- Distroless without a vendor: building your own base images
- Talos time sync: replacing the default NTP server with one you own
- KubeVirt: the VMware exit for VMs you cannot containerise
- Kubernetes upgrade debt: skew, deprecated APIs and safe paths
- European sovereign cloud: build, buy, or self-host
- Digital Sovereignty: From Slogan to Testable Architecture
- Gaia-X in practice: federation, labels, and the sovereignty gap
- Provisioning the bare metal beneath the OS: Metal3, Tinkerbell, Sidero Omni
- Bare-metal ingress, owned: MetalLB, kube-vip, and Gateway API past Cloudflare
- Sovereign object storage after MinIO: Rook/Ceph, SeaweedFS, Garage
- Block storage on immutable nodes: Ceph, Longhorn, OpenEBS
- Kubernetes disaster recovery with Velero and etcd snapshots
- NetBird vs Tailscale vs Headscale: Self-Hosted Mesh VPN
- Infrastructure hardening services
- KubeVigil: open-source Kubernetes security scanner
- How NIS2 and DORA reshape self-hosted infrastructure
- DORA Article 9's ICT risk-management pillar: what an immutable node OS proves for it
- Supply-chain security: SBOM, Sigstore, and SLSA
- The cloud repatriation engineering playbook
- Policy-as-code governance with Kyverno
- Immutable nodes at the far edge: disconnected K3s fleets with Rancher Fleet
- AMD ROCm as a Second Source for GPU Inference
- WebAssembly on Kubernetes: SpinKube and runwasi
- ISO 27001 Annex A on infrastructure you operate
Executive Briefing
Thirty minutes to clarify your infrastructure risk
Walk us through your vendor footprint and regulatory constraints. We will tell you honestly where sovereignty creates leverage — and where it does not. No pitch deck. No obligation.