- 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 failed7a5ffd4a
config: Enable jailer by default when using firecracker2cb7b513
docs: update general wording for installation documentation76f4588f
workflows: Actually push the release to quay.iob980c62f
packaging/kernel: Update kernel build doc99e9a6ad
packaging/kernel: Update versions.yaml kernel urlsc23ffef4
packaging/kernel: Remove old Jenkins pipeline9586d482
tracing: Return context in runHooks() span creation6a6dee7c
osbuilder: Document no Alpine support on s390x71f304ce
agent: watcher: cleanup mount if needed when container is removedf1a505db
agent: Temporarily allow unknown linters961aaff0
agent: watcher: fixes to make more robust7effbdeb
osbuilder: Upgrade Ubuntu guest to 20.0499ab91df
docs: update the docs project url from kata 1.x to 2.x4fe23b19
kernel: PTP_KVM support for arm/arm64 in Kataf981fc64
clh: correct cloud-hypervisor installationf87cee9d
kata-deploy: Rely directly on a centos:7 image6871aeaa
snap: enable snap build for arm6415e0a3c8
kata-deploy: Remove unneeded yum cached filesd01aebeb
kata-deploy: Ensure the system is up-to-date77160e59
workflows: Actually login to quay.iob9e03a1c
docs: update the image repository to quay.iof47cad3d
tools: Update the image repository to quay.io9fa1febf
workflows: Also push the image to quay.io233b53c0
agent: Fix cargo 1.54 clippy warning2d8386ea
kata-monitor: add few unit tests8714a350
kata-monitor: make code to identify kata pods simpler68a6f011
kata-monitor: drop the runtime info from the sandbox cache97dcc5f7
kata-monitor: drop getMonitorAddress()0b03d97d
vendor: update vendors for kata-monitorc2f03e89
kata-monitor: talk to the container engine via the CRIc867d1e0
osbuilder: Drop Go agent support1d25d7d4
docs: Remove kata-proxy and binaries reference64dd35ba
virtcontainers: fc: properly remove jailed block deviceb8133a18
osbuilder/dracut: Add missing libraries831c2fee
packaging: Remove reference to sheepdog driver2e28b714
packaging: Drop support for qemu < 5.0d5f85698
vendor: Update govmm31650956
runtime/qemu: Use explicit "on" for kernel_irqchip parametera72b0811
osbuilder: pass env OS_VERSIONd007bb85
kata-deploy: shorten directory pathe6408fe6
Container: Add initConfigResourcesMemory and call it in newContainer49083bfa
agent: Create the process CWD when it does not existee90affc
newContainer: Initialize c.config.Resources.Memory if it is nil767a41ce
updateResources: Log result after calculateSandboxMemory760ec4e5
virtcontainers: clh: Do not use the default HTTP client3fe6695b
static-checks: Check for the `force-skip-ci` label on each step7df56301
CI: Call agent shutdown test57b696a5
docs: Removed mention of 1.x4f0726bc
docs: Remove table of contentsf186c5e2
docs: Fix invalid URLs7c610a6f
docs: Fix shell code80afba15
docs: update kata deploy README doc to add cloud-hypervisor test command5a0d3c4f
docs: update the kata release url in the kata deploy document9514dda5
mod: unity containerd dependency6ffe37b9
mod: unify runc dependency5b514177
docs: Add tracing proposals docb53e8405
how-to-use-virtio-mem-with-kata.md: Remove undefined ${REPORT_DIR}5957bc7d
ci: Run static checks when PRs are updated81e6bf6f
kata-deploy: Split shimv2 build in a separate container.d46ae324
kernel: build: Add container buildb789a935
actions: release: Use new kata-deploy scripts.85987c6d
kata-deploy: Add Makefileb9d2eea3
kata-deploy: Add script to merge kata tarballs.4895747f
Rootfs: Add curl to alpine rootfs builder.fc90bb53
Actions: Add new workflow to create static tarballsbbb06c49
actions: Remove scripts from actions directory.2f9859ab
build: Reuse firecracker directory on builds.3533a5b6
Packaging: stop using GOPATH for yq.0c5ded4b
kata-deploy: build kata only with docker in host2ec31093
docs: update url for log parser in how-to-import-kata-logs-with-fluentd.mdcc0bb9ae
versions: Upgrade to Cloud Hypervisor v17.08e9ffe6f
snap: Substitute image configuration with initrd8b15eafa
docs: Update url for log parser in Developer guide77604de8
qemu/arm: remove nvdimm/"ReadOnly" option on arm644fbae549
docs: Update experimental documentation07f7ad9d
build(deps): bump github.com/containerd/containerd in /src/runtime9c0b8a7f
snap: do not export agent version3727caf7
versions: Update runc to 1.0.1116c29c8
cgroups: manager's Set() now takes Resources as its parameterc0f801c0
rootless: RunningInUserNS() is now part of userns namespaceb5293c52
runtime: update runc dependency to 1.0.12859600a
runtime: virtcontainers: make rootfs image read-only8befb1f3
kata-deploy: Refactor builder options.7125f5d8
image-builder: Allow build image and initrd independently.0f8c0dbc
osbuilder/scripts: add support to yq version 4 and above070590fb
vendor: update govmmb4c45df8
runtime: tools/packaging/cmd/kata-pkgsync: fix govet fieldalignmentaec53090
runtime: virtcontainers/utils: fix govet fieldalignment1e4f7faa
runtime: virtcontainers/types: fix govet fieldalignmentbb9495c0
runtime: virtcontainers/pkg: fix govet fieldalignment80ab91ac
runtime: virtcontainers/persist: fix govet fieldalignment54bdd018
runtime: virtcontainers/factory: fix govet fieldalignmentdd58de36
runtime: virtcontainers/device: fix govet fieldalignment47d95dc1
runtime: virtcontainers: fix govet fieldalignment8ca7a7c5
runtime: netmon: fix govet fieldalignment31de8eb7
runtime: pkg: fix govet fieldalignment2b80091e
runtime: containerd-shim-v2: fix govet fieldalignment0dc59df6
runtime: cli: fix govet fieldalignmentc1042523
ci: expand $CI to nothingadd480ed
monitor: mv the monitor socket into sbs directoryf7c6f170
docs: added a glossary to support SEO tacticsa8649acf
snap: fixed snap aarch64 qemu patches dir in snapcraft.yaml file38826194
osbuilder: update centos arm rootfs image config 'GPG_KEY_ARCH_URL'c5fdc0db
docs: fix minikube installation guide runtimeclasses errorf2ef25c6
docs: fixed kata-deploy path for kata logs with fluentd doccb6b7667
runtime: Add option "enable_guest_swap" to config hypervisor.qemua733f537
runtime: newContainer: Handle the annotations of SWAP2c835b60
ContainerConfig: Set ocispec.Annotations to containerConfig.Annotations243d4b86
runtime: Sandbox: Add addSwap and removeSwape1b91986
runtime: Update golang proto code for AddSwap4f066db8
agent: agent.proto: Add AddSwap4f23b8cd
ci: set -o nounset35cbc93d
agent: clear MsFlags if the option has clear flag setff87da72
config: Fix description for OCI hooks8e0daf67
shimv2: fix the issue of kata-runtime exec failedb12b21f3
osbuilder: Skip installing golang for building rootfs558f1be6
snap: Remove QEMU before clone5371b921
mount: fix the issue of missing check file exists27b299b2
agent-ctl: Use a common Makefile style like other components05084699
agent-ctl: bump to latest tokioacf69328
agent: update tokio to 1.8.1dcd29867
static-checks: Call the static-checks make targetafd97850
makefile: Add static-checks target34828df9
virtiofsd: fix the issue of missing stop virtiofsd73d3798c
vsock-exporter: switch to tokio runtime7960689e
tracing: replace SimpleSpanProcessor with BatchSpanProcessore887b39e
docs: Update containerd configuration format 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.
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.