- virtcontainers: Enable initrd for Cloud Hypervisor - versions: update Rust to 1.58.1 - Sandbox sizing feature - kata-deploy: Fix the tag replacement logic - docs: Update networking details in the architecture doc - Fix and re-enable s390x GoVMM tests - runtime: fix handling container spec's memory limit - ci: Pass function arguments in static-checks.sh - docs: Remove docker run and sysctl limitation - runtime: update runc and image-spec dependencies - agent: resolve unused variables in tests - Upgrade to Cloud Hypervisor v21.0 - runtime: rectify passing empty options to -ldflags - osbuilder: Remove libseccomp from Dockerfile - agent: fix the issue of creating new namespaces for agent - docs: Remove kata-pkgsync reference - docs: Redirect glossary to the wiki - workflows: Use base instead of head ref for kata-deploy-test - govmm: Use it from our own repo - tools: Fix groupname if it differs from username - workflows: Fix typo in kata-deploy-push action - release: Escape backticks in Libseccomp Notices - packaging: Remove kata-pkgsync tool - govmm: Bring the project in - version: bump to kubernetes 1.23 - vendor: update govmm - workflows: Ensure force-skip-ci skips all actions - runtime: -Wl,--s390-pgste for s390x - workflows: Use the correct branch ref on test kata-deploy - update apiVersion - scripts: Use shebang /usr/bin/env bash - packaging: Make kernel config accessible to guest - docs: fix a typo in host-cgroups.md doc - qemu: add support for SGX - experimentally enable the vcpu-hotplug for arm in qemu side - Remove all the non-tested rootfs - docs: Remove ccloudvm reference - runtime: Provide protection for shared data - kata-deploy: validate conf file can be created - runtime: it should rollback when failed in Sandbox AddInterface - libs: add some generated files to .gitignore - runtime: close span before return from function in case of error - packaging: Remove ccloudvm instructions and script - docs: Default machine type is q35 meanwhile - CI: Revert "CI: Switch to a mirror as gnu.org is down" - agent: fix the broken protobuf generation code - packaging: Remove obs packages testing for kata 2.0 - runtime: Remove docker comments for kata 2.0 configuration.tomls - docs: fix agent proto file path - qemu: update readonly flag for block devices - qemu: only set wait parameter for server mode socket based char device - qemu: Fix 32 bit int overflow in test file - qemu: Add support for legacy serial device - qemu: Remove -realtime in favor of -overcommit - Add clean shutdown support - govmm/qemu: Let IO/memory reservations be specified for bridge devices - QMP: Add ExecuteBlockdevAddWithDriverCache - qemu: Fix iommu_platform for CCW - qemu: Add credentials to qemu Cmd - Don't use deprecated 'props' argument to QMP 'object-add' - Use 'host_device' driver for blockdev backends - add support for "sandbox" feature to qemu - qemu: support read-only nvdimm - Support golang 1.16 - qemu: Consistent parameter building - qemu: Allow hot-plugging memory devices on PCI bridges - qemu: Add support for PEF - qemu: Add support for Secure Execution - qemu: VhostUserDevice CCW device numbers - qmp: remove chatty log - Fix qemu commandline issue with empty romfile - qemu: add support for tdx-guest object - qemu: Append memory backend for non-DIMM setups - qemu: add support for device loaders - qemu: support QEMU 6 - qmp: Add ro argument for block-device hotplug funcs - qemu: add arm64 to support list of dimm - qemu: enable "-pflash" - qemu: add pvpanic and dump guest memory support - Add serial ID to blk device - Make fw_cfg a slice - contributors: remove CONTRIBUTORS.md file - misc: Update for new GitHub organisation name - qemu: add fw_cfg flag to config - Add qom-get function - typo fix - Add support for hot-plugging IBM Adjunct Processor (AP) devices - github: enable github actions - travis: Run coveralls after success - qemu: add iommu_platform knob for qemuParams - qemu: Add NoReboot config Knob for qemuParams - Add multidevs option to fsdev - qemu/qmp: use boolean type for the vhost - qemu: add IOMMU Device - Enable Numa support for Power (ppc64le) architecture - qemu: Add max_ports option to virtio-serial device - Add rt clock definition for rtc clock in qemu - qemu: Add microvm machine type support - qemu: add pmem flag to memory-backend-file - Refactor code to support multiple virtio transports at runtime - qemu: Don't set ".cache-size=" when CacheSize is 0 - qemu: Add pcie-root-port device support. - qmp: Add ExecMemdevAdd and ExecQomSet API - qmp: add ExecutePCIVhostUserDevAdd and ExecuteChardevDel to hotplug vhost-user device - s390x: add s390x travis support - virtio-blk: Add support for share-rw flag - s390x: dimm not supported - improve qemu interaction - qmp: support command 'query-qmp-schema' - qmp: add checks for the CPU toplogy - qemu: support x86 SMP die - Support x-pci-vendor-id and x-pci-device-id pass to qemu - Support for virtio-blk-ccw - Allow sharing of memory backend file - qemu: add migration incoming defer support - qmp: add virtio-blk multiqueue - qemu: fix the issue of wrong driver for VirtioBlock - qemu: use MiB instead of Gib for virtio-fs cache size - qemu/qmp: re-implement mainLoop - qemu/qmp: fix readLoop() reuse scanner.Bytes() underlying array problem - govmm: add VhostUserFS vhost-user device type - qmp: Conditionally pass threadID and socketID when CPU device add - Fix travis - qmp: Add nvdimm support - qemu: Allow disable-modern option from QMP - qmp: Output error detail when execute QMP command failed - Run tests for the s390x build - Contributors: Add Clare Chen to CONTRIBUTORS.md - Verify govmm builds on s390x - Contributors: Add my name - qemu: Add s390x support - Update file headers , CONTRIBUTING.md and add CONTRIBUTORS.md - qmp: fix mem-path properties for hotplug memory. - qemu: change Context ID for Vsock to uint64 - qemu/qmp: preparation for s390x support - qemu/qmp: add new function ExecuteBlockdevAddWithCache - qemu: add support for pidfile option - qemu: Fix virtio-net-pci QMP command - qemu: Add support for romfile option - Update guidelines on security issue reporting - qemu: Add virtio-balloon device suppport. - qemu: Show full path to qemu binary at launch time - qemu: Fix the support of PCIe bridge - qmp: add ExecuteQueryMigration - qemu: skip setting system memory if it is set via dimm device - qmp: add "query-cpus" support - qemu/qmp: add vfio mediated device support on root bus - qemu/image: Reduce permissions of .iso creation dir - qemu/qmp: nic can works without vhost - qemu: Add rng device . - qemu/qmp: support query-memory-devices qmp command. - govmm: modify govmm to be compatible with qemu 2.8 - qemu/qmp: support hotplug a nic whose qdisc is mq - qmp: Remind users that you must first call ExecuteQMPCapabilities() - qemu/qmp: Add netdev_add with chardev support - Add some negative test cases - qemu: Use the supplied context.Context for launching - disk: Add --share-rw option for hotplugging disks - qemu/qmp: add vfio mediated device support - qemu: Do not try and generate invalid RTC parameters - qemu/qmp: add addr and bus to hotplug vsock devices - qemu/qmp: add function for hotplug network by fds - qemu/qmp: implement functions to hotplug chardevs and serial ports - qemu: add vhostfd and disable-modern to vsock hotplug - Add two additional static analysis tools to the travis builds - qemu/qmp: implement function for hotplug network - qemu: add vhostfd and disable-modern to vhost-vsock-pci - qemu/qmp: implement function to hotplug vsock-pci - Add APIs to enable vm templating - qemu: Add qemu parameter for PCI address for a bridge. - Add ability to associate a SCSI controller device with an iothread - qemu: add initrd support - qemu: add DisableModern to SCSIController - qemu: add extra options for the machine type - scsi: Add function to send device_add qmp command for a scsi device - Compute coverage statistics for unit tests in Travis builds - scsi: Add a scsi controller device - qemu: Add VSOCK support - Vhost-user: add block device support - qemu: Add maxcpus attribute to -smp - Add badges to the README.md file - Enable Travis builds - qemu: introduce vhost-user handling |
||
---|---|---|
.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.