- use CRI in kata-monitor - config: Enable jailer by default when using firecracker - workflows: Actually push the release to quay.io - docs: update general wording for installation documentation - Cleanup kernel packaging - tracing: Return context in runHooks() span creation - osbuilder: Document no Alpine support on s390x - osbuilder: Upgrade Ubuntu guest to 20.04 - agent: watcher / inotify stability fixes - enable snap build for arm64 - agent: Fix cargo 1.54 clippy warning - osbuilder: Drop Go agent support - kernel: PTP_KVM support for arm/arm64 in Kata - docs: update the docs project url from kata 1.x to 2.x - clh: correct cloud-hypervisor installation on non-x86 - virtcontainers: fc: properly remove jailed block device - CI: Call agent shutdown test - kata deploy: always update the base image - docs: Remove kata-proxy and invalid script reference - workflows: Actually login to quay.io - kata-deploy: Update our content to use / point to quay.io/kata-containers rather than katadocker - agent: Create the process CWD when it does not exist - Update Kata to allow it to use Qemu 6.1 - osbuilder/dracut: Add missing libraries - osbuilder: pass env OS_VERSION - tools: shorten directory path - virtcontainers: clh: Do not use the default HTTP client - docs: update kata deploy README doc to add cloud-hypervisor test command - Container: Add initConfigResourcesMemory and call it in newContainer - qemu/arm: remove nvdimm/"ReadOnly" option on arm64 - Fix issue container start fail if io.katacontainers.container.resource.swap_in_bytes and memory_limit_in_bytes are not set - docs: Add tracing proposals doc - docs: Remove table of contents - static-checks: Check for the `force-skip-ci` label on each step - docs: update the kata release url in the kata deploy document - kata-deploy: Allow build kata-deploy tarball from HEAD - mod: unify runc and containerd dependencies - how-to-use-virtio-mem-with-kata.md: Remove undefined ${REPORT_DIR} - ci: Run static checks when PRs are updated - docs: update url for log parser in how-to-import-kata-logs-with-fluen… - versions: Upgrade to Cloud Hypervisor v17.0 - snap: Substitute image configuration with initrd - docs: Update url for log parser in Developer guide - mount: fix the issue of missing check file exists - build(deps): bump github.com/containerd/containerd from 1.5.2 to 1.5.4 in /src/runtime - docs: Update experimental documentation - snap: do not export agent version - Upgrade runc to 1.0.1 - runtime: read-only NVDIMM - osbuilder/scripts: add support to yq version 4 and above - osbuilder: update centos arm rootfs image config 'GPG_KEY_ARCH_URL' - monitor: mv the monitor socket into sbs directory - fix govet fieldalignment - docs: added a glossary to support SEO tactics - ci: expand $CI to nothing - Add swap support - snap: fixed snap aarch64 qemu patches dir in snapcraft.yaml file - agent: clear MsFlags if the option has clear flag set - snap: Remove QEMU before clone - docs: fix minikube installation guide runtimeclasses error - docs: fixed kata-deploy path for kata logs with fluentd doc - agent/agent-ctl: update tokio to 1.8.1 - ci: set -o nounset - static-checks: Add a make target to run static-checks locally - virtiofsd: fix the issue of missing stop virtiofsd - docs: Update containerd configuration format - osbuilder: Skip installing golang for building rootfs - agent-ctl: Use a common Makefile style like other components - vsock-exporter: switch to tokio runtime - config: Fix description for OCI hooks - shimv2: fix the issue of kata-runtime exec failed |
||
---|---|---|
.github/workflows | ||
ci | ||
docs | ||
pkg/logging | ||
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.