- osbuilder: fix missing cpio package when building rootfs-initrd image - osbuilder: add coreutils to guest rootfs - workflows: only allow org members to run `/test_kata_deploy` - agent: use temp directory for test containers - tools/osbuilder: build QAT kernel in fedora 34 - agent: refactor find_process function and add test cases - Hypervisor cleanup, refactoring - agent: clear cargo test warnings - docs: Add a code PR advice document - tools: Automatically revert kata-deploy changes - runtime: delete netmon - agent: Remove some unwrap and expect calls - agent: fixed the `make optimize` bug - docs: make kata-deploy more visible - workflows: Add back the checks for running test-kata-deploy - kata-deploy: Ensure we test HEAD with `/test_kata_deploy` - docs: update using-SPDK-vhostuser-and-kata.md - Update k8s SR-IOV plugin environment variables to work properly with Kata - watchers: don't dereference symlinks when copying files - kata-deploy: Add back stable & latest tags - agent: fix the issue of missing create a new session for container - runtime: Update containerd to 1.5.8 - qemu: fix snap build on ppc64le - virtcontainers: fix failing template test on ppc64le - agent: Update README - Remove cruft, do some simple non-functional cleanup in the runtime - macvlan: drop bridged part of name - clh: Fix race condition that prevent start pods - Update CRI-O documentation - cgroups: Fix systemd cgroup support - runtime: merge virtcontainers/pkg/types into virtcontainers/types - workflows: Remove non-used main.yaml - agent/src: improve unit test coverage for src/namespace.rs - doc: update kata metrics documentation - runtime: delete not used codes - versions: bump golang to 1.17.x - release: Use ${GOPATH}/bin/yq for upload-libseccomp-tarball action - agent-ctl: Allow API specification in JSON format - virtcontainers: Lint protection types - agent: check environment variables if empty or invalid - runtime: Revert "runtime: use containerd package instead of cri-containerd" - rustjail: Fix created time of container - agent: Remove dynamic tracing APIs - kernel: add VFIO kernel dependencies for ppc64le - logging: Always run crate tests8ee67aae
osbuilder: fix missing cpio package when building rootfs-initrd imagef59d3ff6
osbuilder: add coreutils to guest rootfs5e7c1a29
workflows: only allow org members to run `/test_kata_deploy`857501d8
tools/osbuilder: build QAT kernel in fedora 34a32e02a1
agent: use temp directory as root of test containersf0734f52
docs: Remove extraneous whitespaceaff32756
docs: Add a code PR advice documentd41c375c
docs: Add more advice to the UT advice docbaf4f76d
docs: More detail on running tests as different usersfcf45b0c
docs: Use more idiomatic rust string check9fed7d0b
docs: Mention anyhow for error handling in UT doc318b3f18
docs: No present continuous in UT advice doce8bb6b26
docs: Correct repo name usagec1111a1d
docs: Use leading caps for lang names in UT advice doc597b239e
docs: Remove TOC in UT advice doccf360fad
docs: Move unit test advice doc from tests repobc955814
docs: Move doc requirements section higher6a0b7165
agent: refactor find_process function and add test cases5ba2f52c
tools: Quote functions arguments in the update repos script5dbd752f
tools: Remove the check for the VERSION file85eb743f
tools: Make hub usage slightly less fragile76540dbd
tools: Automatically revert kata-deploy changes36d73c96
tools: Do the kata-deploy changes on its own commitc8e22daf
tools: Use vars for the registry in the update repo scriptac958a30
tools: Use vars for the yaml files used in the update repo scriptedca8292
tools: Rewrite the logic around kata-deploy changes31f6c2c2
tools: Update comments about the kata-deploy yaml changes75bb3401
shimv2/service: fix defer funtions never run with os.Exit()bd3217da
agent: Remove redundant returnsadab6434
agent: Remove some unwrap and expect calls351cef7b
agent: Remove unwrap from verify_cid()a7d1c70c
agent: Improve baremount09abcd4d
agent-ctl: Remove some unwrap and expect calls35db75ba
agent-ctl: Remove redundant returns46e45958
agent-ctl: Simplify mainc7349d0b
agent-ctl: Simplify error handlingddc68131
runtime: delete netmon705687dc
docs: Add kata-deploy as part of the install docsacece849
docs: Use the default notation for "Note" on install README143fb278
kata-deploy: Use the default notation for "Note"45d76407
kata-deploy: Don't mention arch specific binaries in the README0c6c0735
agent: fixed the `make optimize` buga7c08aa4
workflows: Add back the checks for running test-kata-deployce0693d6
agent: clear cargo test warningsce92cadc
vc: hypervisor: remove setSandbox2227c46c
vc: hypervisor: use our own logger4c2883f7
vc: hypervisor: remove dependency on persist API34f23de5
vc: hypervisor: Remove need to get shared address from sandboxc28e5a78
acrn: remove dependency on sandbox, persistapi datatypesa0e0e186
hypervisors: introduce pkg to unbreak vc/persist dependencyb5dfcf26
watcher: tests: ensure there is 20ms delay between fs writes78dff468
agent/device: Adjust PCIDEVICE_* container environment variables for VM4530e7df
agent/device: Use simpler structure in update_spec_devices()b6062278
agent/device: Correct misleading comment on test case89ff7000
agent/device: Remove unnecessary check for empty container_pathc855a312
agent/device: Make DevIndex local to update_spec_devices()084538d3
agent/device: Change update_spec_device to handle multiple devices at onced6a3ebc4
agent/device: Obtain guest major/minor numbers when creating DevNumUpdatef4982130
agent/device: Check for conflicting device updatesf10e8c81
agent/device: Batch changes to the OCI specification46a4020e
agent/device: Types to represent update for a device in the OCI spece7beed54
agent/device: Remove unneeded clone() from several device handlers2029eeeb
agent/device: Improve update_spec_device() final_path handling57541315
agent/device: Correct misleading parameter name in update_spec_device()0c51da3d
agent/device: Correct misleading error message in update_spec_device()94b7936f
agent/device: Use nix::sys::stat::{major,minor} instead of libc::*296e76f8
watchers: handle symlinked directories, dir removal2b6dfe41
watchers: don't dereference symlinks when copying files3c9ae7fb
kata-deploy: Ensure we test HEAD with `/test_kata_deploy`0380b9bd
runtime: Update containerd to 1.5.8112ea258
qemu: fix snap build by disabling libudevd5a18173
virtcontainers: fix failing template test on ppc64le6955d144
kata-deploy: Add back stable & latest tagsbbaf57ad
agent: fix the issue of missing create a new session for container46fd5069
docs: update using-SPDK-vhostuser-and-kata.md7e6f2b8d
vc-utils: don't export unused function860f3088
virtcontainers: move oci, uuid packages top level8acb3a32
virtcontainers: remove unused package nsenter4788cb82
vc-network: remove unused functionsb6ebddd7
oci: remove unused function GetContainerType599bc0c2
agent: Update README1e7cb4bc
macvlan: drop bridged part of name55412044
monitor: Fix monitor race condition doing hypervisor.check()eb11d053
cri-o: Update deployment documentation92e3a140
cri-o: Update links for the CRI-O github page0a19340a
cri-o: Remove outdated documentationa3b3c85e
workflows: Remove non-used main.yaml09f7962f
runtime: merge virtcontainers/pkg/types into virtcontainers/types6acedc25
runtime: delete not used codes395638c4
versions: bump golang to 1.17.x570915a8
docs: update kata 2.0 metrics documentationbcf181b7
cgroups: Fix systemd cgroup support34307235
release: Use ${GOPATH}/bin/yq for upload-libseccomp-tarball action6339fdd1
docs: update kata metrics architecture image57bb7ffa
agent: check environment variables if empty or invalid8ab90e10
agent-ctl: Allow API specification in JSON formateacfcdec
runtime: Revert "runtime: use containerd package instead of cri-containerd"e7856ff1
rustjail: Fix created time of containerb7b89905
virtcontainers: Lint protection types7566b736
kernel: add VFIO kernel dependencies for ppc64le87f67606
agent: Remove dynamic tracing APIsb09dd7a8
docs: Fix typod47484e7
logging: Always run crate tests5c9c0b6e
build: Fix default targetb34ed403
cgroups: pass vhost-vsock device to cgroup7362e1e8
runtime: remove prefix when cgroups are managed by systemd1b1790fd
agent/src: improve unit test coverage for src/namespace.rs Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.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.
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.