/kata-containers

Kata Containers version 2.x repository. 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. https://katacontainers.io/

Primary LanguageGoApache License 2.0Apache-2.0

Kata Containers


Welcome to Kata Containers!

The purpose of this repository is to act as a "top level" site for the project. Specifically it is used:

Raising issues

This repository is used for raising issues:

  • That might affect multiple code repositories.

  • Where the raiser is unsure which repositories are affected.

Note:

  • If an issue affects only a single component, it should be raised in that components repository.

Kata Containers repositories

CI

The CI repository stores the Continuous Integration (CI) system configuration information.

Community

The Community repository is the first place to go if you want to use or contribute to the project.

Code Repositories

Kata Containers-developed components

Agent

The kata-agent runs inside the virtual machine and sets up the container environment.

KSM throttler

The kata-ksm-throttler is an optional utility that monitors containers and deduplicates memory to maximize container density on a host.

Proxy

The kata-proxy is a process that runs on the host and co-ordinates access to the agent running inside the virtual machine.

Runtime

The kata-runtime is usually invoked by a container manager and provides high-level verbs to manage containers.

Shim

The kata-shim is a process that runs on the host. It acts as though it is the workload (which actually runs inside the virtual machine). This shim is required to be compliant with the expectations of the OCI runtime specification.

Trace forwarder

The kata-trace-forwarder is a component only used when tracing the agent process.

Additional

Hypervisor

The qemu hypervisor is used to create virtual machines for hosting the containers.

Kernel

The hypervisor uses a Linux* kernel to boot the guest image.

Documentation

The docs directory holds documentation common to all code components.

Packaging

We use the packaging to create packages for the system components including rootfs and kernel images.

Test code

The tests repository hosts all test code except the unit testing code (which is kept in the same repository as the component it tests).

Utilities

OS builder

The osbuilder tool can create a rootfs and a "mini O/S" image. This image is used by the hypervisor to setup the environment before switching to the workload.

kata-agent-ctl

kata-agent-ctl is a low-level test tool for interacting with the agent.

Web content

The www.katacontainers.io repository contains all sources for the https://www.katacontainers.io site.

Credits

Kata Containers uses packagecloud for package hosting.