- kata-deploy: fix tar command in dockerfile - vendor: update to containerd v1.6.0-beta.4 - versions: Upgrade to Cloud Hypervisor v20.2 - vc: remove swagger binary - agent: Refactor command line parsing to use a framework - move the oci and protocols crates from agent to upper libs - docs: Remove word duplication - osbuilder: Restore Debian as a rootfs - runtime: fix a typo in kata-collect-data.sh - agent: return detail error message for RPC calls from shim - use-cases: clarify SPDK vhost-user-nvme target status in using-spdk-v… - Delint dockerfiles - Makefile: update `make go-test` call - docs: add how-to on DinD in Kata - agent: Ignore unknown seccomp system calls - agent: mount: Remove unneeded mount_point local variable - docs: Fix outdated links - docs: Fix kernel configs README spelling errors - security: Update rust crate versions - kata-manager: Retrieve static tarball - osbuilder: avoid to copy versions.txt which already deprecated - qemu: Disable libudev for QEMU 5.2 and newer - osbuilder: Add protoc to the alpine container - docs: Clarify where to run agent API generation commands - packaging/qemu: partial git clone - docs: Fix arch doc formatting - CI: Switch to a mirror as gnu.org is down - Split architecture doc into separate files - docs: Update the stable branch strategy - tracing: Add span name to logging error - docs: Update code PR advice document - agent: Add config file option to cli - update container type handling - docs: Update architecture document - runtime: update golang to 1.16 and remove ioutil package - kata-deploy: Deal with empty containerd conf file - src: reorg source code directory - osbuilder: show usage if no options/arguments specified - Upgrade to Cloud Hypervisor v20.1 - image_build: add help info for '-f' option and 'BLOCK_SIZE' env. - osbuilder: be runtime consistent with podman build - osbuilder: Revert to using apk.static for Alpine - runtime/template: Handling new attributes for hypervisor config - docs: fix check-markdown test - runtime: correct span name for stopSandbox function - runtime: only call stopVirtiofsd when shared_fs is virtio-fs - snap: read initrd and image distros from version.yaml - versions: Use Ubuntu initrd for non-musl archs - packaging: Fix missing commit message in building kata-runtime - virtcontainers: clh: Upgrade to openapi-generator v5.3.0 - agent: user container ID as watchable storage key for hashmap - runtime: enable vhost-net for rootless hypervisor - packaging: add help information for '-f' option in install_go.sh - Cleanup some unused variables, definitions - Upgrade to Cloud Hypervisor v20.0 - docs: Update limitation document regarding docker swarm - runtime: Enable FUSE_DAX kernel config for DAX - agent: copy empty directories for watchable-bind mounts - runtime: Update comments for virtcontainers to use kata 2.0 - Update rust crate versions - osbuilder: Remove debian as a rootfs |
||
---|---|---|
.github/workflows | ||
ci | ||
docs | ||
snap | ||
src | ||
tools | ||
utils | ||
.gitignore | ||
CODE_OF_CONDUCT.md | ||
CODEOWNERS | ||
CONTRIBUTING.md | ||
Glossary.md | ||
LICENSE | ||
Makefile | ||
README.md | ||
utils.mk | ||
VERSION | ||
versions.yaml |

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.
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
Developers
Components
Main components
The table below lists the core parts of the project:
Component | Type | Description |
---|---|---|
runtime | core | Main component run by a container manager and providing a containerd shimv2 runtime implementation. |
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). |
tests | tests | Excludes unit tests which live with the main code. |
Additional components
The table below lists the remaining parts of the project:
Component | Type | Description |
---|---|---|
packaging | infrastructure | Scripts and metadata for producing packaged binaries (components, hypervisors, kernel and rootfs). |
kernel | kernel | Linux kernel used by the hypervisor to boot the guest image. Patches are stored here. |
osbuilder | infrastructure | Tool to create "mini O/S" rootfs and initrd images and kernel for the hypervisor. |
agent-ctl |
utility | Tool that provides low-level access for testing the agent. |
trace-forwarder |
utility | Agent tracing helper. |
ci |
CI | Continuous Integration configuration files and scripts. |
katacontainers.io |
Source for the katacontainers.io site. |
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.