- release: Do not git add kata-{deploy,cleanup}.yaml for the tests repo - kata-deploy: add runtimeclass that includes pod overhead - release: automatically bump the version of the kata-deploy images - Refine uevent matching conditions - docs: update dev-guide to include fixes from 1.x - virtcontainers: replace newStore by store in Sandbox struct - agent: log the mount point if it is already mounted - tools/agent-ctl: Update Cargo.lock - agent: Rework the debug console - oci: Update seccomp configuration - kernel: update experimental kernel to 5.10.x - kata-deploy: Fix `test-kata.sh` and do some small cleanups / improvements in the kata-deploy script - github: Fix slash-command-action usage - rustjail: fix the issue of missing default home env - Make uevent watching mechanism more flexible - ci/openshift-ci: Prepare to build on CentOS 8 - docs: update configuration for passing annotations in conatinerd - Revert "github: Remove kata-deploy-test action" - runtime: increase dial timeout - qemu experimental: Move to latest tree on virtio-fs-dev (qemu 6.0 + DAX patches). - github: Remove kata-deploy-test action - agent: s390x statfs constants - kernel: upgrade kernel to 5.10.x for arm64. - Don't do anything in Pipestream::shutdown - Fix fsgroup - agent: Remove many "panic message is not string literal" warnings - osbuilder: Update QAT Dockerfile with new QAT driver version - osbuilder: update dockerfiles to utilize IMAGE_REGISTRY - Only keep one VERSION file - Dechat deruntime - runtime: Format auto-generated client code for cloud-hypervisor API - runtime: use concrete KataAgentConfig instead of interface type - versions: Update cloud-hypervisor to release v0.14.1 - runtime: import runtime/v2/runc/options to decode request from Docker - virtcontainers/fc: Upgrade Firecracker to v0.23.1 - docs: Remove ubuntu installation guide - docs: Update snap install guide - docs: update how-to-use-k8s-with-cri-containerd-and-kata.md - Update install docs for Fedora and CentOS - action: fix missing qemu tag - Remove installation guides for SLE and openSUSE - kernel: Enable OVERLAY_FS_{METACOPY,XINO_AUTO} - versions: kernel 5.10.x - virtcontainers: Fix missing contexts in s390x - runtime: makefile allow override DAX value11897248
release: Do not git add kata-{deploy,cleanup}.yaml for the tests repo2b5f79d6
release: automatically bump the version of the kata-deploy images8682d6b7
docs: update dev-guide to include fixes from 1.xf444adb5
kata-cleanup: Explicitly add tag to the container image12582c2f
kata-deploy: add runtimeclass that includes pod overheadd75fe956
virtcontainers: replace newStore by store in Sandbox struct342eb765
tools/agent-ctl: Update Cargo.lock24b0703f
agent: fix test for the debug console79033257
agent: async the debug console8ea2ce9a
agent/device: Remove legacy uevent matching5d007743
agent/device: Refine uevent matching for pmem devices9017e110
agent: start to rework the debug consolea59e07c1
agent/define: Refine uevent matching for virtio-scsi devices484a3647
agent/device: Rework uevent handling for virtio-blk devices7873b7a1
github: Fix slash-command-action usageeda8da1e
github: Revert "github: Remove kata-deploy-test action"a938d903
rustjail: fix the issue of missing default home envb0e4618e
docs: update configuration for passing annotations in conatinerdd43098ec
kata-deploy: Adapt regex for testing kata-deploy107ceca6
kernel: update experimental kernel to 5.10.xca4dccf9
release: Get rid of "master"c2197cbf
release: Use sudo to install hub49eec920
agent: log the tag and mount point if it is already mounted16f732fc
ci/lib: Use git to clone the tests repository9281e567
ci/openshift-ci: Add build root dockerfile1cce9300
github: Remove kata-deploy-test action0828f9ba
agent/uevent: Introduce wait_for_uevent() helper16ed55e4
agent/device: Use consistent matching for past and future uevents4b16681d
agent/uevent: Put matcher object rather than "device address" in watch listb8b32248
agent/uevent: Consolidate event matching logicd2caff6c
agent: Re-organize uevent processing55ed2ddd
agent: Store uevent watchers in Vec rather than HashMap91e0ef5c
agent/uevent: Report whole Uevents to device watchers36420054
agent: Store whole Uevent in map, rather than just /dev name06162025
agent/device: Move GLOBAL_DEVICE_WATCHER into Sandbox11ae32e3
agent/device: Fix path matching for PCI devices4f608804
agent/device: Update test_get_device_name()ee6a590d
agent: add test test_pipestream_shutdown4a2d4370
agent: don't do anything in Pipestream::shutdowne3e670c5
agent/device: Forward port test for get_device_name() from Kata 1.xed08980f
agent: Remove many "panic message is not string literal" warningsf365bdb7
versions: qemu-experimental: 6.0~rc 470dd66491b9d7
qemu: Add support to build static qemu for dev tree13653e7b
runtime: increase dial timeout935460e5
osbuilder: update dockerfiles to utilize IMAGE_REGISTRY010d57f4
osbuilder: Update QAT Dockerfile with new QAT driver versionadb866ad
kata-deploy: Adapt to the correct tag name60adc7f0
VERSION: Use the correct forma4c125a8
trace: move gRPC requests from debug to trace50fff977
trace: move trace span chatter to trace rather than info28bd8c11
kernel: upgrade kernel to 5.10.x for arm64.6fe48329
runtime: use concrete KataAgentConfig instead of interface type64939425
mount: fix the issue of missing set fsGroup88e58a4f
agent: fix the issue of missing pass fsGroup572aff53
build: Only keep one VERSION file0c38d9ec
runtime: Fix the format of the client code of cloud-hypervisor APIs52cacf88
runtime: Format auto-generated client code for cloud-hypervisor API84b62dc3
versions: Update cloud-hypervisor to release v0.14.14a38ff41
docs: Update snap install guideede1ab86
docs: Remove ubuntu installation guide6255cc19
virtcontainers/fc: Upgrade Firecracker to v0.23.12c47277c
docs: update how-to-use-k8s-with-cri-containerd-and-kata.md317f55f8
docs: Update minimum version for Fedora1ce29fc9
docs: Update CentOS install docs3f90561b
docs: Update Fedora install docs8a1c6c3f
action: fix missing qemu taga9ff9c87
docs: Remove openSUSE installation guide2888ceb0
docs: Remove SLE installation guide09d454ac
runtime: import runtime/v2/runc/options to decode request from Docker0b502d15
runtime: makefile allow override DAX valuea65519b9
versions: keep using kernel 5.4.x for ARM31ced01e
virtcontainers: Fix missing contexts in s390x52a276fb
agent: Fix type for PROC_SUPER_MAGIC on s390x5b7c8b7d
agent: Update cgroups-rs to 0.2.5c035cdb3
versions: kernel 5.10.x660b0473
oci: Update seccomp configuration8c1e0d30
kernel: Enable OVERLAY_FS_{METACOPY,XINO_AUTO} Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com>

Kata Containers
Welcome to Kata Containers!
This repository is the home of the Kata Containers code for the 2.0 and newer releases.
If you want to learn about Kata Containers, visit the main Kata Containers website.
For further details on the older (first generation) Kata Containers 1.x versions, see the Kata Containers 1.x components section.
Introduction
Kata Containers is an open source project and community working to build a standard implementation of lightweight Virtual Machines (VMs) that feel and perform like containers, but provide the workload isolation and security advantages of VMs.
Getting started
See the installation documentation.
Documentation
See the official documentation (including installation guides, the developer guide, design documents and more).
Community
To learn more about the project, its community and governance, see the community repository. This is the first place to go if you wish to contribute to the project.
Getting help
See the community section for ways to contact us.
Raising issues
Please raise an issue in this repository.
Note: If you are reporting a security issue, please follow the vulnerability reporting process
Kata Containers 1.x versions
For older Kata Containers 1.x releases, please raise an issue in the Kata Containers 1.x component repository that seems most appropriate.
If in doubt, raise an issue in the Kata Containers 1.x runtime repository.
Developers
Components
Component | Type | Description |
---|---|---|
agent-ctl | utility | Tool that provides low-level access for testing the agent. |
agent | core | Management process running inside the virtual machine / POD that sets up the container environment. |
documentation | documentation | Documentation common to all components (such as design and install documentation). |
osbuilder | infrastructure | Tool to create "mini O/S" rootfs and initrd images for the hypervisor. |
packaging | infrastructure | Scripts and metadata for producing packaged binaries (components, hypervisors, kernel and rootfs). |
runtime | core | Main component run by a container manager and providing a containerd shimv2 runtime implementation. |
trace-forwarder | utility | Agent tracing helper. |
Kata Containers 1.x components
For the first generation of Kata Containers (1.x versions), each component was kept in a separate repository.
For information on the Kata Containers 1.x releases, see the Kata Containers 1.x releases page.
For further information on particular Kata Containers 1.x components, see the individual component repositories:
Component | Type | Description |
---|---|---|
agent | core | See components. |
documentation | documentation | |
KSM throttler | optional core | Daemon that monitors containers and deduplicates memory to maximize container density on the host. |
osbuilder | infrastructure | See components. |
packaging | infrastructure | See components. |
proxy | core | Multiplexes communications between the shims, agent and runtime. |
runtime | core | See components. |
shim | core | Handles standard I/O and signals on behalf of the container process. |
Note:
- There are more components for the original Kata Containers 1.x implementation.
- The current implementation simplifies the design significantly: compare the current and previous generation designs.
Common repositories
The following repositories are used by both the current and first generation Kata Containers implementations:
Component | Description | Current | First generation | Notes |
---|---|---|---|---|
CI | Continuous Integration configuration files and scripts. | Kata 2.x | Kata 1.x | |
kernel | The Linux kernel used by the hypervisor to boot the guest image. | Kata 2.x | Kata 1.x | Patches are stored in the packaging component. |
tests | Test code. | Kata 2.x | Kata 1.x | Excludes unit tests which live with the main code. |
www.katacontainers.io | Contains the source for the main web site. | Kata 2.x | Kata 1.x |
Packaging and releases
Kata Containers is now available natively for most distributions. However, packaging scripts and metadata are still used to generate snap and GitHub releases. See the components section for further details.