Releases: kata-containers/kata-containers
Release list
Kata Containers 4.1.0
Survey
Please take the Kata Containers survey:
This will help the Kata Containers community understand:
- how you use Kata Containers
- what features and improvements you would like to see in Kata Containers
Libseccomp Notices
The kata-agent binaries inside the Kata Containers images provided with this release are
statically linked with the following GNU LGPL-2.1 licensed libseccomp library.
The kata-agent uses the libseccomp v2.6.0 which is not modified from the upstream version.
However, in order to comply with the LGPL-2.1 (§6(a)), we attach the complete source code for the library.
Kata Containers builder images
- agent (on all its different flavours): quay.io/kata-containers/builders:agent-086d5ee82-7632ffd8a-1.95-x86_64
- Kernel (on all its different flavours): quay.io/kata-containers/builders:kernel-4d1e78da2-x86_64
- OVMF (on all its different flavours): quay.io/kata-containers/builders:ovmf-fc8df7157-x86_64
- QEMU (on all its different flavurs): quay.io/kata-containers/builders:qemu-ebdd40446-x86_64
- shim-v2: quay.io/kata-containers/builders:shim-v2-go-1.25.13-rust-1.95-a7a273435-x86_64
- tools: quay.io/kata-containers/builders:tools-d258cc68c-2bc880425-e4d00165a-7632ffd8a-x86_64
- virtiofsd: quay.io/kata-containers/builders:virtiofsd-1.85.1-musl-7632ffd8a-x86_64
Installation
Follow the Kata installation instructions.
What's Changed
- libs: extract pcilibs into standalone pcilibs-rs crate by @fidencio in #13411
- build: remove unused cross-compilation paths by @fidencio in #13419
- build(deps): bump pillow from 12.2.0 to 12.3.0 in /docs by @dependabot[bot] in #13422
- build(deps): bump serde_with from 2.3.3 to 3.21.0 by @dependabot[bot] in #13384
- dragonball: Merge the three network device managers into one by @justxuewei in #13423
- runtime-rs: resource: place the runtime in the sandbox cgroup synchronously by @Redent0r in #13338
- ci: Disable k8s tests on arm64 by @fidencio in #13467
- nvidia-gpu: chisel NVIDIA libs from sandboxutils-filelist.json by @zvonkok in #13427
- kata-deploy: Do not ship virtiofsd when using shared_fs=none by @fidencio in #13451
- gpu-extension: fix Fabric Manager topology path by @fidencio in #13471
- kata-deploy: configure EROFS backing mode by @manuelh-dev in #13476
- required-tests: Make all s390x CI jobs not-required by @BbolroC in #13489
- tests: fix k8s-hostpath-volume test on ppc64le by @Amulyam24 in #13445
- build(deps): bump pymdown-extensions from 10.21.3 to 11.0 in /docs by @dependabot[bot] in #13490
- ci: Get s390x CI back by @BbolroC in #13493
- nvgpu: local CUDA repo support and build-race fixes by @zvonkok in #13455
- versions: Bump virtiofsd to 1.14.0 by @manandey in #13479
- kata-deploy: isolate guest debug in runtime classes by @fidencio in #13480
- runtime-rs: file path in open() error message by @danmihai1 in #13477
- runtime-rs: Create shared volume paths under rw path by @Apokleos in #13466
- ci: Remove coco tests on rke2/k3s/microk8s/k0s by @fidencio in #13498
- packaging: split the static release tarball by runtime by @fidencio in #13488
- kata-deploy: bind nydus-snapshotter to the node's actual CRI unit by @fidencio in #13482
- gpu-extension: Build it without depending on the monolithic image by @fidencio in #13473
- tests: clean leaked NVIDIA GPU resources before setup by @fidencio in #13450
- kata-deploy: support a values overlay when publishing the helm chart by @zvonkok in #13478
- build: consume guest-components CoCo artefacts instead of building locally by @fidencio in #13487
- build: pause-image must be a dep of the monolith confidential images by @fidencio in #13509
- local-build: fix pause-image dep to use pause-image-tarball by @BbolroC in #13513
- tests: nvidia: remove NIM operator tests by @manuelh-dev in #13503
- packaging: disable AGENT_INIT for s390x vanilla initrd by @BbolroC in #13508
- tests: avoid apt install of curl in GPU attestation pod by @fidencio in #13512
- runtime-rs: Allow listxattr in dragonball seccomp by @Apokleos in #13510
- helm: roll out kata-deploy when mounted ConfigMaps change by @fidencio in #13418
- agent/rustjail: Fix double close on pipes by @sprt in #13505
- tests/k8s: run plain first, triage failures on -debug by @fidencio in #13514
- qemu: Disable features/devices per default by @zvonkok in #10708
- build(deps): bump google.golang.org/grpc from 1.79.3 to 1.82.1 in /src/runtime by @dependabot[bot] in #13434
- Add a generic devkit debug guest extension (runtime-rs only!) -- take 2 by @fidencio in #13497
- Static runtime default by @jimmykarily in #13499
- genpolicy: invalidate incompatible layer caches and persist them across NVIDIA CI runs by @manuelh-dev in #13504
- tests: fix envsubst invocation in attestation test by @manuelh-dev in #13531
- build(deps): bump raven-actions/actionlint from 2.1.1 to 2.2.0 by @dependabot[bot] in #13534
- build(deps): bump google.golang.org/grpc from 1.79.3 to 1.82.1 in /src/tools/csi-kata-directvolume by @dependabot[bot] in #13521
- docs: Update containerd installation link by @lntutor in #13525
- runtime-rs: Add support for OpenVMM by @sprt in #13346
- ci: unbreak CI for s390x by @sprt in #13544
- runtime-rs: nvidia: Remove unwanted annotations by @fidencio in #13537
- kata-deploy: drop nsenter and tighten host privileges by @fidencio in #13530
- runtime-rs: L3 forwarding network model for runtime-rs by @Stevenjin8 in #13281
- runtime-rs: fix resource leak on container create/start failure by @halcyon-r in #12748
- runtime-rs: share block storage source mapping by @manuelh-dev in #13309
- build: enable composable VM extensions for IBM SEL (runtime-rs) by @BbolroC in #13529
- ci: Run full self-hosted matrix in ci-devel by @BbolroC in #13543
- genpolicy: derive pause identity from image and restore Azure CLH policy coverage by @manuelh-dev in #13516
- ci/openvmm: Enable block-plain emptyDir test by @sprt in #13545
- qemu: add a qemu-no-shared-fs build and trim the confidential-guest ones by @fidencio in #13520
- docs: Enhance virtio-fs documentation with usage details by @zvonkok in #12927
- kata-deploy: ship glibc deps in dispatcher image on ppc64le/s390x by @fidencio in #13550
- runtime: Allow nvswitch-class devices to be passed through by @LandonTClipp in #13540
- ci: keep ORAS installer stdout from polluting tarball paths by @fidencio in https://github.com/k...
Kata Containers 4.0.0
Survey
Please take the Kata Containers survey:
This will help the Kata Containers community understand:
- how you use Kata Containers
- what features and improvements you would like to see in Kata Containers
Libseccomp Notices
The kata-agent binaries inside the Kata Containers images provided with this release are
statically linked with the following GNU LGPL-2.1 licensed libseccomp library.
The kata-agent uses the libseccomp v2.6.0 which is not modified from the upstream version.
However, in order to comply with the LGPL-2.1 (§6(a)), we attach the complete source code for the library.
Kata Containers builder images
- agent (on all its different flavours): quay.io/kata-containers/builders:agent-3840e64e3-562c9acdb-1.95-x86_64
- Kernel (on all its different flavours): quay.io/kata-containers/builders:kernel-91d6c39f0-x86_64
- OVMF (on all its different flavours): quay.io/kata-containers/builders:ovmf-7df4e4c1b-x86_64
- QEMU (on all its different flavurs): quay.io/kata-containers/builders:qemu-3be370d2d-x86_64
- shim-v2: quay.io/kata-containers/builders:shim-v2-go-1.25.12-rust-1.95-64dedaf92-x86_64
- tools: quay.io/kata-containers/builders:tools-81e634001-ab2e7f0c5-3d5dad473-67e33c3cd-x86_64
- virtiofsd: quay.io/kata-containers/builders:virtiofsd-1.85.1-musl-1c23f6ec0-x86_64
Installation
Follow the Kata installation instructions.
Documentation
Learn more about Kata Containers in the project's documentation.
Release Notes
What’s new in this release
The 4.0.0 release delivers significant security and performance improvements to further strengthen Kata Containers as a multitenant container runtime. As the highlight of this release, the runtime has been rewritten from Go to Rust, and the new runtime ("runtime-rs") serves as the default runtime moving forward.
Note that while the new runtime is ready for production use, if you are already a Kata user you might notice some minor differences in configuration and behavior when you switch over.
Further details are provided below.
Supported Hardware Architectures
The Kata Containers runtime has been implemented to support various hardware configurations. The new default Rust runtime delivers support for the following:
- x86_64 (amd64)
- ARM (aarch64)
- IBM s390x
Supported Hypervisors
The new Rust runtime provides support for multiple hypervisors, including:
- QEMU
- Cloud Hypervisor
- Dragonball
Container Orchestration System Compatibility
You can use the new runtime with container orchestration systems that you’re already familiar with, or might’ve already been using Kata with:
- Kubernetes
- Docker (only tested with QEMU)
- nerdctl
Deployment Options
There are two ways to deploy the new Kata Containers runtime.
- kata-deploy
- From source
The recommended path, when using Kubernetes, is kata-deploy, which will set the RuntimeClass to runtime-rs in your deployment.
Further Notable Improvements Included in runtime-rs
Storage: a modernized block device model
The new Rust runtime brings an improved approach to how block storage (internally referred to as BlockModern) is managed in Kata Containers. Runtime-rs will perform more consistently and reliably for storage-heavy workloads, especially in a Kubernetes environment.
Functionality includes:
- A unified block device model across QEMU, Cloud Hypervisor, and Dragonball.
- Improved reliability for device hot-plug/unplug. More reliable block device hot-plug and hot-unplug, including better error handling and rollback if something fails.
- Optimization for thin-provisioned storage with discard and unmap support, requires the underlying hypervisor to also support this functionality.
- Improved support for virtio-scsi as a container root filesystem driver.
- Implementing the support for integrity-verified root filesystems with dm-verity and GPT/VMDK.
Memory management
Runtime-rs also brings improved memory performance and operations, including:
- Memory hotplug support with virtio-mem
- Improved memory management when used with QEMU
- Reduced memory overhead when relying on IBM Secure Execution
Networking
Networking improvements include:
- Multi-queue networking is now propagated from configuration through all supported hypervisors (QEMU, Cloud Hypervisor, and Dragonball)
- More efficient network queue configuration on Cloud Hypervisor and Dragonball
- Improved network interface hot-plug capability for QEMU, for enhanced SR-IOV support and overall robustness
- Support for placing network devices in the host network namespace when using QEMU
VFIO and device pass-through
- Support for VFIO device cold-plug
- s390x VFIO-AP mediated device support for IBM Z crypto and accelerator workloads
- Single-container mode — when running a standalone container (not a full pod sandbox), CDI-based VFIO devices can be cold-plugged automatically.
- Unused VFIO configuration options were removed as part of maintenance
Resource accounting
- Static sandbox resource sizing now accounts for runtime overhead values more accurately — important for Kubernetes Pod Overhead and scheduling.
EmptyDir volumes
- Added support for block-based emptyDir volumes (“block-plain”) for better performance and security, avoiding filesystem sharing
- Removed support for an unsafe setting that could lead to emptyDir volumes using more storage than their sizeLimit
A default builtin VMM support
Version 4.0 introduces Dragonball, a built-in VMM. It serves as a lightweight alternative for users who prefer not to use QEMU or Cloud Hypervisor. Dragonball fully satisfies standard sandboxing requirements, supporting key features such as virtio-net, virtio-blk, and VFIO device passthrough.
GPU support
GPU devices are available with the following hypervisors:
- QEMU
- Cloud Hypervisor - not tested in upstream CI
- Dragonball - not tested in upstream CI
EROFS and verified root filesystem integrity
Filesystem performance and integrity are critical for Kata Containers use cases. The 4.0.0 release delivers support for EROFS and more:
- kata-deploy validates that EROFS prerequisites are met before installation
dm-verity is available by default in deployment configurations - EROFS snapshotter is available through Helm configuration
Toolchain and dependencies
The new programming language has brought in new tooling and dependencies, including:
- v1.95 of the Rust toolchain
- Updated containerd shim and ttrpc libraries (shim 0.11, ttrpc 0.9)
- cgroups, hyper (HTTP library for Rust), configuration parsing, and further dependencies got updated versions with the new runtime
Deprecation notes
The original Go runtime is now deprecated and will not accept newly proposed features. Ongoing development work will be evaluated on a case-by-case basis to continue and finalize. The Go runtime will still receive critical bug fixes and CVE fixes during the depreciation period. Users who are currently using the original Go runtime are encouraged to switch to the new runtime-rs.
Known limitations
The Kata Containers community maintains a page on GitHub for known limitations, which you can access here:
https://github.com/kata-containers/kata-containers/blob/main/docs/Limitations.md
Full Changelog: 3.0.0...4.0.0
Kata Containers 3.32.0
Survey
Please take the Kata Containers survey:
This will help the Kata Containers community understand:
- how you use Kata Containers
- what features and improvements you would like to see in Kata Containers
Libseccomp Notices
The kata-agent binaries inside the Kata Containers images provided with this release are
statically linked with the following GNU LGPL-2.1 licensed libseccomp library.
The kata-agent uses the libseccomp v2.6.0 which is not modified from the upstream version.
However, in order to comply with the LGPL-2.1 (§6(a)), we attach the complete source code for the library.
Kata Containers builder images
- agent (on all its different flavours): quay.io/kata-containers/builders:agent-3840e64e3-e407c7ee9-1.94-x86_64
- Kernel (on all its different flavours): quay.io/kata-containers/builders:kernel-91d6c39f0-x86_64
- OVMF (on all its different flavours): quay.io/kata-containers/builders:ovmf-a708316c0-x86_64
- QEMU (on all its different flavurs): quay.io/kata-containers/builders:qemu-3be370d2d-x86_64
- shim-v2: quay.io/kata-containers/builders:shim-v2-go-1.25.11-rust-1.94-b44e56d3d-x86_64
- tools: quay.io/kata-containers/builders:tools-531877f28-d09d1959c-9550a323a-67e33c3cd-x86_64
- virtiofsd: quay.io/kata-containers/builders:virtiofsd-1.85.1-musl-1c23f6ec0-x86_64
Installation
Follow the Kata installation instructions.
What's Changed
- dragonball: Add basic ACPI implementation for TDX boot by @RainaYL in #13063
- dragonball: Add implementation for KVM-managed guest memfd by @RainaYL in #13066
- kata-deploy: always add HEAD commit SHA tag to all builds by @stevenhorsman in #13081
- runtime: drop host time namespace from OCI spec by @fidencio in #13082
- kata-deploy: only install what will actually be used by @fidencio in #13055
- build(deps): bump github.com/containerd/containerd from 1.7.29 to 1.7.32 in /src/runtime by @dependabot[bot] in #13091
- kata-deploy: verify kata-runtime label remains stable on rke2/k3s by @fidencio in #13089
- runtime-rs: Fix sandbox-api lifecycle and CRI status handling by @Apokleos in #12957
- packaging: fix parallel kernel build race and kata-deploy script bugs by @hdp617 in #13077
- runtime-rs: qemu: pass -bios for non-confidential guests by @fidencio in #13106
- kata-monitor: use full URI for connecting to containerd by @fvichot in #13086
- runtime (go): agent: Add NUMA support for QEMU by @fidencio in #12948
- build: Validate measured-rootfs root hashes all shims by @fidencio in #13109
- runtime-rs: Support erofs snapshotter with gpt vmdk mode by @Apokleos in #13085
- kata-deploy: prebuild payload-specific component artifacts by @fidencio in #13104
- agent: use rtnetlink to add ARP neighbour by @burgerdev in #13064
- tests: nvidia: No policy for runtime-rs path by @manuelh-dev in #13114
- build: add nvgpu-tarball target by @zvonkok in #12955
- containerd: use /etc/containerd/conf.d/ drop-in for containerd >= 2.2.0 by @thebigbone in #13108
- agent: compact EROFS overlay lowerdirs by @manuelh-dev in #13119
- agent: restore process CWD auto-creation by @PiotrProkop in #13118
- kernel: Enable landlock LSM by @bpradipt in #13087
- runtime: Configure network num_queues properly for CLH by @Camelron in #13047
- runtime / agent / kernel: fix cold-plug VFIO guest-kernel mode for SR-IOV RoCE/InfiniBand by @fidencio in #13103
- build: add kata-deploy-publish target by @zvonkok in #12956
- Revert "runtime: Enforce >= 1 queue pairs for tapNetworkPair" by @Camelron in #13133
- runtime-rs/agent: support EROFS snapshots without a rwlayer by @manuelh-dev in #12979
- kata-deploy: Add a version annotation to runtimeclass by @jojimt in #13134
- ci: Refactor boot-image-se build and update shim components by @BbolroC in #13097
- runtime: oci: Only derive sandbox CPUs from shares when quota is unconstrained by @fidencio in #13140
- kata-deploy: scrub stale containerd import on conf.d migration by @fidencio in #13141
- runtime/runtime-rs: introduce Azure specific configs by @fidencio in #13126
- Bump rust to 1.94 by @stevenhorsman in #13144
- runtime(-rs): tdx: use TDX QGS via unix-domain-socket by default by @mythi in #12436
- bump golang.org/x/dependencies by @stevenhorsman in #13143
- Disable CPU hotplug when confidential guest setting enabled by @mythi in #12539
- ci: Remove kata-monitor test from required by @stevenhorsman in #13166
- runtime-rs: shut down shim daemon on a failed create by @fidencio in #13156
- versions: bump golang to 1.25.11 by @stevenhorsman in #13165
- build(deps): bump openssl from 0.10.79 to 0.10.80 by @dependabot[bot] in #13088
- build(deps): bump tar from 0.4.45 to 0.4.46 by @dependabot[bot] in #13135
- trace-forwarder: migrate from Jaeger to OTLP exporter by @stevenhorsman in #13036
- kata-deploy: inherit custom RuntimeClass overhead from baseConfig by @fidencio in #13170
- ci: remove Mariner annotations and use new config by @sprt in #13161
- kata-deploy: add the imports directive explicitly if expected but not found by @Amulyam24 in #13176
- tests: fix TDX runtime-rs and initdata tests by @mythi in #12931
- tests: unskip hard-coded policy tests on qemu-tdx-runtime-rs by @fidencio in #13182
- runtime: ignore false positive CRI-O vulnerabilities by @stevenhorsman in #13174
- docs: add composable VM images design proposal by @fidencio in #13029
- runtime-rs: default static sizing-related config flags to true by @fidencio in #13171
- kata-deploy: support drop-in configs for default runtimes by @fidencio in #13183
- dragonball: Add steps to boot TDX VM by @RainaYL in #13093
- kata-deploy: log more info when debug is enabled by @fidencio in #13178
- versions: Bump containerd to 2.3 by @fidencio in #13004
- cri-containerd: fix v1 sanity-check config generation by @fidencio in #13192
- kata-monitor: ship as a standalone multi-arch image starting with 3.32.0 by @fidencio in #13107
- runtime*: use static_sandbox_resource_mgmt defaults for qemu-se by @BbolroC in #13188
- tests: align kata-monitor containerd version selector by @fidencio in #13197
- tests: fix k8s-number-cpus expectation by @manuelh-dev in #13190
- runtime-rs: Honor enable_debug for logs and adjust debugging documentation by @manuelh-dev in #13147
- ci: Update required tests by @stevenhorsman in #13206
- runtime-rs: Add support Independe...
Kata Containers 3.31.0
Survey
Please take the Kata Containers survey:
This will help the Kata Containers community understand:
- how you use Kata Containers
- what features and improvements you would like to see in Kata Containers
Libseccomp Notices
The kata-agent binaries inside the Kata Containers images provided with this release are
statically linked with the following GNU LGPL-2.1 licensed libseccomp library.
The kata-agent uses the libseccomp v2.6.0 which is not modified from the upstream version.
However, in order to comply with the LGPL-2.1 (§6(a)), we attach the complete source code for the library.
Kata Containers builder images
- agent (on all its different flavours): quay.io/kata-containers/builders:agent-3840e64e3-e407c7ee9-1.93-x86_64
- Kernel (on all its different flavours): quay.io/kata-containers/builders:kernel-91d6c39f0-x86_64
- OVMF (on all its different flavours): quay.io/kata-containers/builders:ovmf-a708316c0-x86_64
- QEMU (on all its different flavurs): quay.io/kata-containers/builders:qemu-d78579752-x86_64
- shim-v2: quay.io/kata-containers/builders:shim-v2-go-1.25.10-rust-1.93-b44e56d3d-x86_64
- tools: quay.io/kata-containers/builders:tools-6ee43475c-357921df6-1a4074ab2-67e33c3cd-x86_64
- virtiofsd: quay.io/kata-containers/builders:virtiofsd-1.85.1-musl-1c23f6ec0-x86_64
Installation
Follow the Kata installation instructions.
Key Security Fixes
- CVE-2026-44210 via ffa59ce
- CVE-2026-47243 via 555b773
What's Changed
- runtime-rs: qemu: add CCW network hotplug & retry update_interface by @fidencio in #12947
- kata-deploy: configure_mariner: update test configs by @Redent0r in #12960
- ci: nvidia: Disable NVRC trace logging on nightly runs by @fidencio in #12975
- ci: tdx: Remove ITA key usage and run qemu-tdx-runtime-rs on nightly by @fidencio in #12974
- build(deps): bump streetsidesoftware/cspell-action from 8.3.0 to 8.4.0 by @dependabot[bot] in #12966
- build(deps): bump editorconfig-checker/action-editorconfig-checker from 2.1.0 to 2.2.0 by @dependabot[bot] in #12964
- build(deps): bump actions/checkout from 4.2.2 to 6.0.2 by @dependabot[bot] in #12965
- doc update for Nvidia use case by @rajatchopra in #12968
- ci: mariner: use OCI version 1.2.1 by @danmihai1 in #12980
- kata-deploy: add HTTP health probes (healthz/readyz) by @fidencio in #12943
- kernel: bump kernel versions other than dragonball by @alextibbles in #12977
- tests: k8s-cron-job: set runtimeClassName to kata by @fidencio in #12983
- genpolicy: support empty environment variables by @danmihai1 in #12978
- osbuilder: install yq in container without GOPATH volume by @manuelh-dev in #12952
- genpolicy: Fix matching of
..in paths by @gkurz in #12991 - Lean code vendoring by @gkurz in #12873
- build(deps): bump openssl from 0.10.78 to 0.10.79 by @dependabot[bot] in #12993
- genpolicy: ignore additional irrelevant fields by @danmihai1 in #12989
- build: remove gha-adjust-to-use-prebuilt-components.sh by @zvonkok in #12954
- runtime-rs: coldplug GPU support by @fidencio in #12857
- kata-deploy: reduce memory consumption by @fidencio in #12981
- gatekeeper: Unrequire NVIDIA GPU test (temporary) by @manuelh-dev in #13002
- runtime-rs: network: use provided name for virt interface lookup by @fidencio in #12984
- runtime-rs: Fix warnings in rust runtime by @Apokleos in #13011
- tests: nvidia: Wait for NIM operator pod and print by @manuelh-dev in #13007
- version: Bump to latest 6.18 kernel by @stevenhorsman in #13015
- runtime-rs: filter VFIO devices only in guest-kernel mode by @BbolroC in #13013
- tests: nvidia: place NIM service into namespace by @manuelh-dev in #13020
- kata-deploy: Fix containerd debug level path for config schema v4 by @fidencio in #13021
- ci: correct environment variable syntax in stale issues workflow by @stevenhorsman in #13026
- tests: nvidia: avoid NIM journal dumps on success by @manuelh-dev in #13023
- nvidia: rootfs: (try to) use erofs for the image instead of ext4 by @fidencio in #13019
- agent-ctl: Swap rootfs bundle pull implementation by @stevenhorsman in #12996
- genpolicy: support env variable values sourced from metadata.labels values by @danmihai1 in #13010
- runtime-rs: align virtiofsd args on runtime-go by @sprt in #13032
- Go 1.25.10 bump by @stevenhorsman in #13030
- gha: move static checks to self hosted runners for ppc64le by @Amulyam24 in #13034
- fix: add click 8.3.3 to docs requirements by @pavithiran34 in #13037
- ci.ocp: Remove workaround and update docs by @ldoktor in #12797
- rootfs: cdh: Update CDH to new version by @manuelh-dev in #13006
- runtime-rs: static resources: always set maxvcpus equal to vcpus by @Redent0r in #13033
- runtime: allow loopback devices when sandbox_cgroup_only is enabled by @PiotrProkop in #13027
- build(deps): bump github.com/sirupsen/logrus from 1.9.3 to 1.9.4 in /tools/testing/kata-webhook by @dependabot[bot] in #12854
- build(deps): bump github.com/sirupsen/logrus from 1.9.3 to 1.9.4 in /src/runtime by @dependabot[bot] in #12853
- Bump guest components and Trustee for CoCo v0.21.0 by @fitzthum in #13046
- runtime-rs: ephemeral storage port by @fidencio in #13040
- tests: generate guest-pull image pull agent security policies by @manuelh-dev in #13025
- agent: wait for logs before aborting by @burgerdev in #13052
- runtime-rs: use proper temp dirs in initdata tests by @burgerdev in #13061
- tests: export target_branch="${branch}" by @danmihai1 in #13058
- gha: k8s: reject unsupported KATA_HYPERVISOR values by @danmihai1 in #13057
- Revert "gatekeeper: Unrequire NVIDIA GPU test" by @manuelh-dev in #13054
- runtime-rs: don't modify initdata from annotation by @burgerdev in #13051
- dragonball: Allow guest VM to load tdshim firmware for booting by @RainaYL in #12932
- genpolicy: include test binaries in make target build by @burgerdev in #12970
- runtime-rs: preserve ccw address for modern block devices by @fidencio in #13059
- test: skip CDH resource test for qemu-se without reference values by @BbolroC in #13062
- ci: Move measure-rootfs to run on TEE PRs by @stevenhorsman in #13038
- ci: remove docs URL alive check workflow by @stevenhorsman in #13035
- agent-ctl: Move into root work...
Kata Containers 3.30.0
Survey
Please take the Kata Containers survey:
This will help the Kata Containers community understand:
- how you use Kata Containers
- what features and improvements you would like to see in Kata Containers
Libseccomp Notices
The kata-agent binaries inside the Kata Containers images provided with this release are
statically linked with the following GNU LGPL-2.1 licensed libseccomp library.
The kata-agent uses the libseccomp v2.6.0 which is not modified from the upstream version.
However, in order to comply with the LGPL-2.1 (§6(a)), we attach the complete source code for the library.
Kata Containers builder images
- agent (on all its different flavours): quay.io/kata-containers/builders:agent-3840e64e3-e407c7ee9-1.93-x86_64
- Kernel (on all its different flavours): quay.io/kata-containers/builders:kernel-91d6c39f0-x86_64
- OVMF (on all its different flavours): quay.io/kata-containers/builders:ovmf-a708316c0-x86_64
- QEMU (on all its different flavurs): quay.io/kata-containers/builders:qemu-d78579752-x86_64
- shim-v2: quay.io/kata-containers/builders:shim-v2-go-1.25.9-rust-1.93-d0106f47e-x86_64
- tools: quay.io/kata-containers/builders:tools-f8cf47d17-cf6a91a10-044c96a9d-67e33c3cd-x86_64
- virtiofsd: quay.io/kata-containers/builders:virtiofsd-1.85.1-musl-1c23f6ec0-x86_64
Installation
Follow the Kata installation instructions.
Notable Security Fixes
- Linux Kernel Copy Fail CVE-2026-31431 fixed by bumping our guest image kernel in 803531d
What's Changed
- ci: k8s-tests: test mariner and runtime-rs by @Redent0r in #12695
- ci: Remove non-running tests by @fidencio in #12892
- runtime-rs: Add vCPU thread pinning support by @fidencio in #12821
- gatekeeper: Make arm64 CI unrequired by @fidencio in #12906
- tests: Fallback to previous k8s minor version on broken pkgs by @fidencio in #12904
- test: temp skip failing tests on AKS by @Redent0r in #12910
- runtime-rs: ch: disable nested vCPUs on MSHV by @Redent0r in #12908
- ci: Only run arm64 k8s tests on nightly builds by @fidencio in #12911
- shell check: Let the bot fix those issues by @fidencio in #12890
- runtime-rs: Set QEMU as the default hypervisor by @fidencio in #12912
- kata-agent: Bump serde-enum-str to v0.5.0 by @ANJANA-A-R-K in #12501
- kernel: add required configs for CIFS support by @Camelron in #12374
- dragonball: Implement userspace IOAPIC to enable split irqchip by @RainaYL in #12846
- ci: k8s: temporarily remove smb tests by @fidencio in #12924
- runtimes: network: handle "device" type interfaces (mlx5 SFs) by @fidencio in #12891
- versions: Update rustls-webpki to 0.103.13 by @stevenhorsman in #12923
- build(deps): bump openssl from 0.10.73 to 0.10.78 in /src/tools/kata-ctl by @dependabot[bot] in #12900
- runtime-rs: fix exec when selinux is disabled on guest by @pmores in #12913
- build(deps): bump openssl from 0.10.76 to 0.10.78 by @dependabot[bot] in #12901
- build(deps): bump rand from 0.8.5 to 0.8.6 in /src/tools/trace-forwarder by @dependabot[bot] in #12897
- cuda: Bump Driver Version by @zvonkok in #12920
- tests: align qemu-tdx kbs tests to use Trustee AS by @mythi in #12918
- genpolicy: update regorus to 0.9.1 by @burgerdev in #12817
- Bump rust to 1.93 by @stevenhorsman in #12872
- docs: add a simple how-to on using kata from docker by @alextibbles in #12368
- genpolicy: make FileType::from portable across Darwin by @sespiros in #12917
- tests: describe pods deployment when testing deployment output by @Redent0r in #12909
- ci: enforce SLSA provenance for published artifacts by @Xynnn007 in #12860
- runtime-rs: qemu: Add docker support and tests by @fidencio in #12899
- workflows: zizmor update to 1.22 by @stevenhorsman in #12323
- workflows: Remove workflow concurrency by @stevenhorsman in #12938
- kernel: bake in Mellanox MLX5 Ethernet support by @fidencio in #12935
- runtime-rs: rename
cloud-hypervisortoclh-runtime-rsby @sprt in #12898 - runtime-rs: drop misleading unsupported arches gating by @fidencio in #12933
- ci: Fix cri-containerd-test names by @stevenhorsman in #12942
- Revert "ci: Only run arm64 k8s tests on nightly builds" by @fidencio in #12944
- trace-forwarder: Move into root workspace by @stevenhorsman in #12950
- rootfs: Suppress condition check failure errors in cbl-mariner/config.sh by @harshitgupta1337 in #12856
- kata-ctl: Move into root workspace by @stevenhorsman in #12949
- kata-deploy: support containerd config version 4 by @fidencio in #12937
- agent: remove standard-oci-runtime feature by @burgerdev in #12850
- kernel: Bump Kernel Version by @zvonkok in #12963
- gatekeeper: require codegen by @burgerdev in #12969
- release: Bump version to 3.30.0 by @stevenhorsman in #12972
- release: fix release workflow concurrency deadlock by @stevenhorsman in #12973
New Contributors
- @ANJANA-A-R-K made their first contribution in #12501
- @RainaYL made their first contribution in #12846
- @harshitgupta1337 made their first contribution in #12856
Full Changelog: 3.29.0...3.30.0
Kata Containers 3.29.0
Survey
Please take the Kata Containers survey:
This will help the Kata Containers community understand:
- how you use Kata Containers
- what features and improvements you would like to see in Kata Containers
Libseccomp Notices
The kata-agent binaries inside the Kata Containers images provided with this release are
statically linked with the following GNU LGPL-2.1 licensed libseccomp library.
The kata-agent uses the libseccomp v2.6.0 which is not modified from the upstream version.
However, in order to comply with the LGPL-2.1 (§6(a)), we attach the complete source code for the library.
Kata Containers builder images
- agent (on all its different flavours): quay.io/kata-containers/builders:agent-6f787300c-5106e7b34-1.92-x86_64
- Kernel (on all its different flavours): quay.io/kata-containers/builders:kernel-91d6c39f0-x86_64
- OVMF (on all its different flavours): quay.io/kata-containers/builders:ovmf-e02e22643-x86_64
- QEMU (on all its different flavurs): quay.io/kata-containers/builders:qemu-b2c943931-x86_64
- shim-v2: quay.io/kata-containers/builders:shim-v2-go-1.25.9-rust-1.92-5c0269881-x86_64
- tools: quay.io/kata-containers/builders:tools-639ff3578-35be1a938-639ff3578-e1f8b8e8b-x86_64
- virtiofsd: quay.io/kata-containers/builders:virtiofsd-1.85.1-musl-2962e14c1-x86_64
Installation
Follow the Kata installation instructions.
Security Fixes
What's Changed
- genpolicy: Improve emptyDir storage options and mount point validation by @sprt in #12647
- ci: Don't run CI builds on doc PRs by @LandonTClipp in #12660
- versions: Bump rust to 1.92 by @stevenhorsman in #12637
- Switch to use cspell for spell checking by @stevenhorsman in #12677
- build(deps): bump google.golang.org/grpc from 1.63.2 to 1.79.3 in /src/tools/csi-kata-directvolume by @dependabot[bot] in #12680
- build(deps): bump google.golang.org/grpc from 1.72.0 to 1.79.3 in /src/runtime by @dependabot[bot] in #12678
- agent: Bump tracing-subscriber by @stevenhorsman in #12672
- kata-deploy: Check kata-tarball size limits by @manuelh-dev in #12674
- kernel: Add debug kernel with eBPF configs to static tarball builds by @agamdua in #12567
- docs: Update release process notes by @manuelh-dev in #12673
- docs: Move to mkdocs-material, port Helm to docs site by @LandonTClipp in #12633
- docs: Update NVIDIA GPU passthrough QEMU scenario by @manuelh-dev in #12651
- tests: nvidia: Increase run test timeout by @manuelh-dev in #12694
- runtime-rs: Bump rust vmms for dragonball by @lifupan in #12624
- tests: nginx-connectivity: Allow overriding the downloded file by @fidencio in #12701
- nvidia: cc: Use nydus-snapshotter by @fidencio in #12264
- tests: nginx-connectivity: Use
-O index.htmlto override the downloaded file by @fidencio in #12705 - agent: add mkfs_opts parameter to cdh_secure_mount by @manuelh-dev in #12675
- Security fixes 23 mar 26 by @stevenhorsman in #12704
- tests: cc: setup function for python venv by @manuelh-dev in #12681
- tests: gpu: use container data storage feature by @manuelh-dev in #12676
- kata-deploy: nydus: clean containerd metadata before cleaning up the backend by @fidencio in #12724
- tests: Use the helm chart to setup nydus for TDX by @fidencio in #12706
- tools.gatekeeper: Improve output by @ldoktor in #12467
- kernel: Bump the kernel to v6.18.15 for dragonball by @lifupan in #12716
- gatekeeper: Unrequire NVIDIA GPU SNP tests till auth is fixed by @fidencio in #12733
- versions: Bump nydus-snapshotter to v0.15.13 by @fidencio in #12730
- build: Don't fail
cargo checkon a dirty tree by @sprt in #12725 - kata-deploy: nydus: never remove the data dir by @fidencio in #12729
- runtime: Set emptydir_mode to DEFEMPTYDIRMODE_COCO for IBM SEL by @BbolroC in #12743
- kata-deploy: rename nydus-snapshotter to nydus-for-kata-tee by @fidencio in #12739
- tests: Remove skip condition for emptyDir-related tests on IBM SEL by @BbolroC in #12742
- clh: Add VFIO device cold-plug support by @romoh in #12679
- runtime: allow specifying logical/physical sector size for block devices by @PiotrProkop in #12683
- runtime-rs: Update docs for runtime-rs by @Apokleos in #12635
- build: Move agent to root workspace by @Jiahao1226 in #12690
- gha: Avoid noisy deployment logs in PRs by @sprt in #12719
- gatekeeper: unrequire kata-deploy k3s tests by @fidencio in #12758
- tests: Configure devmapper properly regardless of containerd version by @BbolroC in #12757
- tests: gpu: use the container image layer storage feature by @manuelh-dev in #12580
- kata-deploy: Make nydus a soft dep of containerd by @fidencio in #12765
- runtime-rs: add QEMU support for ppc64le by @Amulyam24 in #12484
- agent: Remove Cargo.lock by @stevenhorsman in #12753
- ci.ocp: Use helm deployment for peer-pods by @ldoktor in #12746
- kata-deploy: Fix kata-deploy pods crashing if containerd restarts by @fidencio in #12766
- workflows: Update actions/checkout version by @stevenhorsman in #12656
- tests: nvidia: onboard NIM service test by @manuelh-dev in #12645
- runtime-rs: Fix FC API fields by @ananos in #12767
- workflows: Create workflow to stale issues based on date by @stevenhorsman in #12309
- runtime-rs: Fix typo in share_fs error message by @YutingNie in #12762
- runtime: fix Docker 26+ networking by rescanning after Start by @llink5 in #12754
- nvrc: Bump to the latest Release by @zvonkok in #12774
- runtime-rs: fix setting directio via config file by @PiotrProkop in #12682
- runtime-rs: Enhance TDX in qemu by @Apokleos in #12392
- runtime: config: Use OVMF for the qemu-nvidia-gpu by @fidencio in #12780
- runtime-rs: cleanup config by @katexochen in #12755
- tests: add k3s/rke2 to OCI 1.3.0 drop-in overlay condition by @fidencio in #12783
- helm: Align values.yaml with try-kata-nvidia-gpu.values.yaml by @fidencio in #12781
- genpolicy: adjust GID after passwd GID handling and set fs_group for encrypted emptyDir volumes by @manuelh-dev in #12728
- libs: Move libs into root workspace by @RuoqingHe in #12775
- kata-deploy: Move into the root workspace b...
Kata Containers 3.28.0
Survey
Please take the Kata Containers survey:
This will help the Kata Containers community understand:
- how you use Kata Containers
- what features and improvements you would like to see in Kata Containers
Libseccomp Notices
The kata-agent binaries inside the Kata Containers images provided with this release are
statically linked with the following GNU LGPL-2.1 licensed libseccomp library.
The kata-agent uses the libseccomp v2.6.0 which is not modified from the upstream version.
However, in order to comply with the LGPL-2.1 (§6(a)), we attach the complete source code for the library.
Kata Containers builder images
- agent (on all its different flavours): quay.io/kata-containers/builders:agent-6f787300c-5106e7b34-1.91-x86_64
- Kernel (on all its different flavours): quay.io/kata-containers/builders:kernel-4c760fd03-x86_64
- OVMF (on all its different flavours): quay.io/kata-containers/builders:ovmf-e02e22643-x86_64
- QEMU (on all its different flavurs): quay.io/kata-containers/builders:qemu-b2c943931-x86_64
- shim-v2: quay.io/kata-containers/builders:shim-v2-go-1.25.8-rust-1.91-5c0269881-x86_64
- tools: quay.io/kata-containers/builders:tools-d366d103c-169f92ff0-169f92ff0-f6e0a7c33-x86_64
- virtiofsd: quay.io/kata-containers/builders:virtiofsd-1.85.1-musl-2962e14c1-x86_64
Installation
Follow the Kata installation instructions.
What's Changed
- Add sev-snp, qemu-snp as required CI by @hgowda-amd in #12543
- versions: Update Cloud Hypervisor to v50.0 by @danmihai1 in #12536
- gpu: HGX Bx00 kernel enablement by @zvonkok in #12551
- tests: enable more scenarios for k8s-guest-pull-image.bats by @manuelh-dev in #12461
- ci: lower the load on AKS by @fidencio in #12529
- tests: Enable auto-generated policies for experimental_force_guest_pull by @fidencio in #12563
- runtime-rs: Support for block device hotplug on s390x by @BbolroC in #12531
- tests: enable policy for openvpn on nydus by @manuelh-dev in #12545
- tests: Improve assertion handling for runtime-rs hypervisor by @BbolroC in #12569
- build(deps): bump github.com/BurntSushi/toml from 1.3.2 to 1.5.0 in /src/runtime by @dependabot[bot] in #11365
- Prep for go 1.25 switch by @stevenhorsman in #12562
- kata-deploy: a few guard-rails to avoid failures if components are not set in the values.yaml file by @fidencio in #12559
- tests: Extend fail timeout for failure test by @manuelh-dev in #12566
- runtime-rs: Enhance Qemu/SNP Protection by @Apokleos in #12400
- versions: bump Trustee to latest version by @fitzthum in #12572
- workflows: Swap our go install for setup-go by @stevenhorsman in #12575
- build(deps): bump keccak from 0.1.5 to 0.1.6 in /src/tools/agent-ctl by @dependabot[bot] in #12553
- versions: update cloud hypervisor to v51.1 by @danmihai1 in #12565
- Try and remove unused crates by @stevenhorsman in #12564
- kata-deploy: allow to configure kubectl image by @sathieu in #12574
- runtime: Support memory hotplug via virtio-mem on s390x by @BbolroC in #12573
- agent-genpolicy: read bundle-id from OCI spec rootfs by @fidencio in #12586
- workflow: Recommended improvements by @stevenhorsman in #12477
- workflow: Update actionlint workflows by @stevenhorsman in #12584
- kata-deploy: Fix nydus snapshotter config (on v3 config version) by @fidencio in #12577
- qemu: Remove PCIe root port BAR reserve sizing by @zvonkok in #12507
- send the task create/start/delete event to containerd by @lifupan in #12513
- runtimes: add configurable kubelet root dir by @fidencio in #12587
- docs: Use more accurate wording for /dev hostPath behavior by @sprt in #12608
- workflow | tests: Remove install go by @stevenhorsman in #12596
- versions: Bump go to 1.25.7 by @stevenhorsman in #12502
- build(deps): bump go.opentelemetry.io/otel/sdk from 1.35.0 to 1.40.0 in /src/runtime by @dependabot[bot] in #12609
- docs: require explicit User/Group/AdditionalID by @danmihai1 in #12578
- gha: pass the arch for setup-go on ppc64le by @Amulyam24 in #12616
- tests: Expand auto generated policy tests by @fidencio in #12610
- build: kernel: Do not expect a modules tarball for vanilla kernel by @fidencio in #12550
- gatekeeper: Add EditorConfig checker to required tests by @sprt in #12619
- ci: Remove SNP tests from required by @stevenhorsman in #12627
- Tooling bump x/net to v0.51.0 by @stevenhorsman in #12613
- versions: bump to Linux v6.18.15 (LTS) by @mythi in #12611
- runtime: Skip to call sandboxDevices() for remote hypervisor by @BbolroC in #12617
- kata-deploy: a bunch of fixes regarding uninstall, rke2 and k3s tests by @fidencio in #12626
- tests: k8s: basic test for subPathExpr by @danmihai1 in #12615
- k8s-policy-pvc: use local PV/PVC when no default StorageClass exists by @fidencio in #12555
- genpolicy: settings.d drop-ins and scenario example drop-ins by @fidencio in #12542
- kata-deploy: add per-shim configurable pod overhead by @zachspar in #12630
- kernel: include mmio fragment in unified build for firecracker by @fidencio in #12591
- nvidia: Bump nvidia-container-toolkit to 1.18.1 by @fidencio in #12265
- agent-ctl: Update aws-lc-rs by @stevenhorsman in #12628
- ci: keep mktemp output suffix stable with .yaml by @Apokleos in #12631
- runtime-rs: Fix dragonball's flaky unit tests by @Apokleos in #12623
- coco: Implement trusted ephemeral data storage by @sprt in #10559
- versions: bump golang to 1.25.8 by @stevenhorsman in #12643
- genpolicy: add to Cargo workspace by @burgerdev in #12640
- nvidia: fix invalid CTK reference by @manuelh-dev in #12646
- build(deps): bump quinn-proto from 0.11.8 to 0.11.14 in /src/tools/agent-ctl by @dependabot[bot] in #12653
- workflows: Bump OSV scanner by @stevenhorsman in #12517
- doc: Release model update by @zvonkok in #12343
- versions: bump trustee to latest version by @manuelh-dev in #12648
- tests: nvidia: call genpolicy auth for all tests by @manuelh-dev in #12664
- runtime: bump go.mod version by @stevenhorsman in #12661
- nvidia-gpu: add missing libraries to rootfs by @jojimt in #12535
- runtime: make CDI annotation vendor-agnostic with lookup table by @zvonkok in #12556
- kernel: Ship System.map as part of the kernel build by @zvonkok in https://github.com/k...
Kata Containers 3.27.0
Survey
Please take the Kata Containers survey:
This will help the Kata Containers community understand:
- how you use Kata Containers
- what features and improvements you would like to see in Kata Containers
Libseccomp Notices
The kata-agent binaries inside the Kata Containers images provided with this release are
statically linked with the following GNU LGPL-2.1 licensed libseccomp library.
The kata-agent uses the libseccomp v2.6.0 which is not modified from the upstream version.
However, in order to comply with the LGPL-2.1 (§6(a)), we attach the complete source code for the library.
Kata Containers builder images
- agent (on all its different flavours): quay.io/kata-containers/builders:agent-6f787300c-5106e7b34-1.91-x86_64
- Kernel (on all its different flavours): quay.io/kata-containers/builders:kernel-5c0269881-x86_64
- OVMF (on all its different flavours): quay.io/kata-containers/builders:ovmf-e02e22643-x86_64
- QEMU (on all its different flavurs): quay.io/kata-containers/builders:qemu-b2c943931-x86_64
- shim-v2: quay.io/kata-containers/builders:shim-v2-go-1.24.13-rust-1.91-5c0269881-x86_64
- tools: quay.io/kata-containers/builders:tools-0621e65e7-c53910eb1-8025fa045-f6e0a7c33-x86_64
- virtiofsd: quay.io/kata-containers/builders:virtiofsd-1.85.1-musl-2962e14c1-x86_64
Installation
Follow the Kata installation instructions.
Security Fixes
What's Changed
- tests: Remove terminationGracePeriod in manifests by @manuelh-dev in #12350
- tests: policy test improvements by @danmihai1 in #12409
- packaging: Delete pause_bundle dir before unpack by @manuelh-dev in #12423
- kata-deploy: Make update strategy configurable for kata-deploy DaemonSet by @nlle in #12415
- kata-deploy: nydus: Always start from a clean state by @fidencio in #12428
- runtime: tdx QEMU configuration changes by @mythi in #12390
- build(deps): bump zizmorcore/zizmor-action from 0.2.0 to 0.4.1 by @dependabot[bot] in #12426
- kata-deploy: Avoid text file busy error with nydus-snapshotter by @fidencio in #12442
- tests: kata-deploy: Wait for RuntimeClass before running E2E by @fidencio in #12429
- tests: nvidia: cc: Use sealed secrets for NGC_API_KEY by @fidencio in #12424
- runtimes: Sanitize trailing whitespaces by @manuelh-dev in #12433
- shim: Add CRI-O annotation support for device cold plug by @bpradipt in #12435
- runtime(-rs): rootfs: Use dm-mod.create kernel parameters for dm-verity protected root filesystems by @manuelh-dev in #12396
- gpu: Install packages for devkit by @manuelh-dev in #12454
- runtime-rs: use FIRMWARETDVFPATH like Go runtime by @mythi in #12464
- gpu: Add Agent NUMA Support 1 of N by @zvonkok in #12160
- Go bump 1.24.13 by @stevenhorsman in #12473
- runtime-rs: Fix stdout empty when exec process by @Apokleos in #12376
- docs: add
OS_VERSIONto rootfs script by @jirimoravcik in #12470 - kernel: unify confidential and non-confidential by @fidencio in #12468
- runtime: Enable NUMA optionally by @zvonkok in #11592
- tests: Clean up superfluous GPU annotation by @manuelh-dev in #12462
- genpolicy: support multiple NVIDIA GPU resource keys via allowlist in vfio settings by @Park-Jiyeonn in #12386
- Fix CVE 2026 25541 by @stevenhorsman in #12475
- Fix CVE 2026 25727 by @stevenhorsman in #12474
- ci: add editorconfig checker by @manuelh-dev in #12448
- versions: Bump rust to 1.91 by @stevenhorsman in #12476
- tools.gatekeeper: Add support to paginate workflows by @ldoktor in #12466
- runtime: disable nvdimm for confidential guest by @katexochen in #12472
- kata-deploy: rely more on drop-in configs by @fidencio in #12456
- tests: Make editorconfig-checker happy by @fidencio in #12483
- runtime-rs: Add support configurable network_queues via configuration and annotation by @Apokleos in #12408
- runtime-rs: Skip sockets and threads for hotplug_vcpus on Z/P by @BbolroC in #12486
- genpolicy: suppress YAML output when --{base64/raw}-out are used by @sespiros in #12439
- versions: Tidy up versions file by @stevenhorsman in #12385
- tests/coco: disable k8s-sandbox-vcpus-allocation.bats for TDX by @mythi in #12493
- kata-deploy: re-work delete / uninstall by @fidencio in #12491
- kata-deploy: use get_kata_containers_original_config_path() for custom runtimes by @fidencio in #12498
- build: Tighten upstream download path for ORAS by @manuelh-dev in #12480
- tests: Retry k8s deployment by @fidencio in #12495
- kata-deploy: use k3s/rke2 base template by @fidencio in #12488
- versions: Switch gperf mirror again by @sprt in #12506
- ci: add workflow to push ORAS tarball cache by @fidencio in #12510
- kata-deploy: add node selector to nvidia runtime classes by @jojimt in #12432
- tests: nvidia: Fix genpolicy error when pulling nvcr.io images by @fidencio in #12514
- security: x/net update in tools by @stevenhorsman in #12482
- scripts: use temporary GPG home when verifying cached gperf tarball by @fidencio in #12522
- ci: tdx: properly skip k8s-sandbox-vcpus-allocation.bats by @fidencio in #12519
- kata-deploy: set CRI images runtime_platform snapshotter for containerd v3 by @fidencio in #12520
- runtime: refactor hypervisor devices cgroup creation by @balintTobik in #11140
- security: Rkyv 0.7.46 bump by @stevenhorsman in #12499
- kata-deploy: Temporarily comment GPU specific labels by @fidencio in #12523
- infra: fix multi-arch manifest publish by @fidencio in #12524
- kata-deploy: disable provenance/SBOM for quay.io compatibility by @fidencio in #12528
- agent: Don't pass empty options to mount by @skazi0 in #10746
- kata-deploy: Add TEE nodeSelectors for TEE shims when NFD is detected by @fidencio in #12521
- kata-deploy: runtime_platform -> runtime_platforms ... plus a few fixes by @fidencio in #12530
- qemu: log exit code after failure by @burgerdev in #12533
- tests: mariner annotations for k8s-openvpn by @danmihai1 in #12449
- versions: bump to Linux v6.18.12 and QEMU v10.2.1 by @mythi in #12540
- kata-deploy: preserve symlinks when installing artifacts by @fidencio in #12538...
Kata Containers 3.26.0
Survey
Please take the Kata Containers survey:
This will help the Kata Containers community understand:
- how you use Kata Containers
- what features and improvements you would like to see in Kata Containers
Libseccomp Notices
The kata-agent binaries inside the Kata Containers images provided with this release are
statically linked with the following GNU LGPL-2.1 licensed libseccomp library.
The kata-agent uses the libseccomp v2.6.0 which is not modified from the upstream version.
However, in order to comply with the LGPL-2.1 (§6(a)), we attach the complete source code for the library.
Kata Containers builder images
- agent (on all its different flavours): quay.io/kata-containers/builders:agent-6f787300c-c9cd79655-1.89-x86_64
- Kernel (on all its different flavours): quay.io/kata-containers/builders:kernel-229481b34-x86_64
- OVMF (on all its different flavours): quay.io/kata-containers/builders:ovmf-e02e22643-x86_64
- QEMU (on all its different flavurs): quay.io/kata-containers/builders:qemu-b2c943931-x86_64
- shim-v2: quay.io/kata-containers/builders:shim-v2-go-1.24.12-rust-1.89-1872af7c5-x86_64
- tools: quay.io/kata-containers/builders:tools-500146bfe-37a0c81b6-ca43a8cbb-a0d96256f-x86_64
- virtiofsd: quay.io/kata-containers/builders:virtiofsd-1.85.1-musl-2962e14c1-x86_64
Installation
Follow the Kata installation instructions.
Security Fixes
What's Changed
- kata-deploy: Switch to the rust implementation by @fidencio in #12340
- tools: Remove runk by @fidencio in #12341
- static-checks: Fix kata-deploy reference by @fidencio in #12359
- tests: Add report generation to NVIDIA tests by @fidencio in #12354
- kata-deploy: Add runtime-rs TDX / SNP runtimeclasses by @fidencio in #12352
- tests: Add common bats test runner function by @fidencio in #12365
- agent: Refresh
Cargo.lockby @gkurz in #12362 - build(deps): bump github.com/urfave/cli from 1.22.14 to 1.22.17 in /src/runtime by @dependabot[bot] in #11421
- Rust linting improvements by @stevenhorsman in #12334
- build: Add cargo check by @stevenhorsman in #12371
- kata-deploy: Fix tests and issues found with non-kubeadm deployments by @fidencio in #12372
- GHA: Set timeout for kata-deploy and kbs cleanup by @BbolroC in #12383
- ci: Fix stalebot permissions by @stevenhorsman in #12305
- kata-deploy: Update debian in the container image to 13 (trixie) by @fidencio in #12380
- doc: update enabling full debug method by @Apokleos in #12384
- runtime: Add -info flag support for containerd v2.0+ by @tak-ka3 in #12366
- runtime-rs: Add arm64 QEMU support by @fidencio in #12355
- Revert "ci: Ensure the KBS resources are created" by @manuelh-dev in #12349
- libs: Change kv of get_agent_kernel_params to BTreeMap by @teawater in #10978
- arm64: Update ptp.conf to correct time sync by @liubocflt in #11037
- runtime-rs: Add -info flag support for containerd v2.0+ by @tak-ka3 in #12391
- runtime-rs: se File instead of UnixStream for FIFO to fix ENOTSOCK by @Apokleos in #12388
- kata-deploy: Enable user-defined runtimes with snapshotter and guest-pull support by @fidencio in #12353
- gpu: Enable remote and local repo cuda builds by @zvonkok in #12348
- runtime-rs: Make QMP init robust by retrying handshake with deadline by @Apokleos in #11585
- ci.ocp: Two little fixes regarding the openshift-ci by @ldoktor in #12274
- agent: remove redundant func comment by @houstar in #11959
- versions: Bump guest-components by @stevenhorsman in #12401
- shim: enforce iommufd for confidential guest vfio by @jojimt in #12394
- kernel: Readjust kernel version after decrement by @manuelh-dev in #12403
- ci.ocp: Use 0.0.0-dev tagged helm chart by @ldoktor in #12389
- kata-deploy: Update for mariner in all target by @manuelh-dev in #12395
- release: Bump version to 3.26.0 by @fidencio in #12406
New Contributors
- @tak-ka3 made their first contribution in #12366
- @liubocflt made their first contribution in #11037
Full Changelog: 3.25.0...3.26.0
Kata Containers 3.25.0
Survey
Please take the Kata Containers survey:
This will help the Kata Containers community understand:
- how you use Kata Containers
- what features and improvements you would like to see in Kata Containers
Libseccomp Notices
The kata-agent binaries inside the Kata Containers images provided with this release are
statically linked with the following GNU LGPL-2.1 licensed libseccomp library.
The kata-agent uses the libseccomp v2.6.0 which is not modified from the upstream version.
However, in order to comply with the LGPL-2.1 (§6(a)), we attach the complete source code for the library.
Kata Containers builder images
- agent (on all its different flavours): quay.io/kata-containers/builders:agent-6f787300c-c9cd79655-1.89-x86_64
- Kernel (on all its different flavours): quay.io/kata-containers/builders:kernel-229481b34-x86_64
- OVMF (on all its different flavours): quay.io/kata-containers/builders:ovmf-e02e22643-x86_64
- QEMU (on all its different flavurs): quay.io/kata-containers/builders:qemu-b2c943931-x86_64
- shim-v2: quay.io/kata-containers/builders:shim-v2-go-1.24.11-rust-1.89-1872af7c5-x86_64
- tools: quay.io/kata-containers/builders:tools-ca29e68ac-1a76d44e1-183507bee-a0d96256f-x86_64
- virtiofsd: quay.io/kata-containers/builders:virtiofsd-1.85.1-musl-2962e14c1-x86_64
Installation
Follow the Kata installation instructions.
NOTE FOR PEOPLE BUILDING THE KATA AGENT FROM SOURCE
Some downstream build systems have high standards when it comes to reproducibility. This usually involves pedantic checks on dependencies to ensure everything is strait. In the case of rust, one such test is cargo check --locked that fails if Cargo.lock needs an update to match Cargo.toml.
$ cd src/agent/
$ cargo check --locked
error: the lock file Cargo.lock needs to be updated but --locked was passed to prevent this
If you want to try to generate the lock file without accessing the network, remove the --locked
flag and use --offline instead.
Consistency of Cargo.toml and Cargo.lock is usually achieved by the contributor. But we don't have anything in place to verify it in CI and nits can fall through the cracks. Such a nit was released with Kata Container 3.25.
Anyone encountering problems when building the agent from this release should consider applying cf3441b on top of the official sources.
Depreciation notice
runk has not been supported, or tested by the kata community for over a year, so it is officially deprecated in 3.25.0, with a plan to remove it in 3.26.0.
What's Changed
- gatekeeper: Make s390x e2e tests required again by @BbolroC in #12234
- kata-deploy: Remove deprecated features from 3.23.0 by @fidencio in #12229
- kata-deploy: sa: Fix permissions for patching nodefeaturerules by @fidencio in #12232
- packaging: Add ORAS cache for gperf and busybox tarballs by @fidencio in #12183
- runtime-rs: handle container missing during kill_process gracefully by @M-Phansa in #12167
- build: Move runtime-rs to root workspace by @RuoqingHe in #12148
- kata-tools: Create a smaller tarball only for kata-tools by @fidencio in #12171
- agent: Ensure MS_REMOUNT is respected by @fidencio in #11642
- gatekeeper: Adjust to kata-tools by @fidencio in #12245
- helm: Provide kata-remote runtime class by @fidencio in #12243
- kata-deploy: Oxidize the script by @fidencio in #12152
- build: Fix GPG key for gperf & Pass PUSH_TO_REGISTRY and GH_TOKEN to Docker builds by @fidencio in #12247
- runtime-rs: Enable VFIO-AP passthrough (hotplug only) on s390x by @BbolroC in #12180
- runtime: nvidia: Align on cold-plug and static_sandbox_resource_mgmt by @fidencio in #12250
- versions: Bump experimental {tdx,snp} QEMU by @fidencio in #12251
- dragonball: Use unique name for vhost path by @RuoqingHe in #12254
- tests: cc: add test with SNP reference values by @fitzthum in #12191
- versions: Update several components by @fidencio in #12244
- runtime-rs: Block Device Rootfs Mount Options Lost During Storage Object Creation by @zhangls-0524 in #12169
- genpolicy: support fsGroup setting in pod security context by @burgerdev in #11935
- CI: Upgrade log details for improved error analysis by @Apokleos in #12204
- tests: nvidia: Update NIM/RAG samples by @manuelh-dev in #12240
- kata-deploy: rust: Add list verb for runtimeclasses RBAC by @fidencio in #12260
- nydus-snapshotter: Bump to v0.15.10 by @fidencio in #12263
- tests: remove re-delcared local variable in k8s-empty-dirs.bats by @BbolroC in #12266
- workflows: payload: do not remove AGENT_TOOLSDIRECTORY by @shwetha-s-poojary in #12272
- Preparations for the rust 1.90 bump by @stevenhorsman in #12255
- dragonball: Skip tests require kvm while kvm is absent by @RuoqingHe in #12259
- Bump rust to 1.88 by @stevenhorsman in #12271
- tests: Make the tests coco-dev job with coco-dev-runtime-rs required by @Apokleos in #12156
- use-cases: drop Intel QuickAssist instructions by @mythi in #12287
- versions: Bump sha2 crate version by @stevenhorsman in #12294
- versions: Bump QEMU to v10.2.0 by @fidencio in #12299
- tests: k8s: Adjust terminationGracePeriodSeconds to 1 by @fidencio in #12301
- packaging: build OVMF for Intel TDX again by @mythi in #12286
- Set several tests as required ci by @Apokleos in #12282
- kata-deploy (rs): Remove unused dependency by @fidencio in #12303
- ci: Update AKS setup post Pod Sandboxing GA by @romoh in #12208
- virtiofsd: fix RUSTUP_HOME and CARGO_HOME permissions for non-root bu… by @BbolroC in #12313
- docs: Fix trusted-image-storage reference by @manuelh-dev in #12297
- docs: Update NVIDIA GPU passthrough documentation by @manuelh-dev in #12257
- versions: Bump rust to 1.89 by @stevenhorsman in #12288
- kata-deploy: Fix extraction of the containerd major version by @facorazza in #12312
- packaging: Fix tools permissions issue by @stevenhorsman in #12315
- agent: change secure_storage_integrity default by @manuelh-dev in #12314
- tools: Build kubectl image by @fidencio in #12321
- tests: generate pod config with stable .yaml suffix and refactor set_container_command by @Apokleos in #12320
- build(deps): bump sequoia-openpgp from 2.0.0 to 2.1.0 in /src/tools/agent-ctl by @dependabot[bot] in #12248
- runtime: nvidia: change kernel parameters by @manuelh-dev in #12302
- runtime-rs: Bump qapi-rs from 0.14 to 0.15 by @Apokleos in #12291
- build(deps): bump rsa from 0.9.6 to 0.9.9 in /src/tools/agent-ctl by @dependabot[bot] in #12296
- docs: Add Zensical Doc Site Generation by @LandonTClipp in #12307
- kernel: Bump to the new LTS by @fidencio in https://github.com/kata-container...