Mirror of Krata Hypervisor
Go to file
2024-03-13 11:38:14 +00:00
.github workflows: fix path to apk in nightly build 2024-03-11 04:27:45 -07:00
crates krata: implement auto-exit handling 2024-03-13 11:35:21 +00:00
hack workflows: install os builder dependencies 2024-03-10 12:17:09 +00:00
kernel krata: rewrite all repo infrastructure 2024-03-07 09:04:05 +00:00
os/internal os: build bootable images 2024-03-10 00:22:24 +00:00
resources os: build bootable images 2024-03-10 00:22:24 +00:00
.dockerignore os: build bootable images 2024-03-10 00:22:24 +00:00
.gitattributes krata: improved doc structure 2024-03-08 08:12:10 +00:00
.gitignore krata: improved doc structure 2024-03-08 08:12:10 +00:00
Cargo.toml os: build bootable images 2024-03-10 00:22:24 +00:00
CODE_OF_CONDUCT.md krata: improved doc structure 2024-03-08 08:12:10 +00:00
DEV.md krata: improved doc structure 2024-03-08 08:12:10 +00:00
FAQ.md krata: improved doc structure 2024-03-08 08:12:10 +00:00
lefthook.toml krata: improved doc structure 2024-03-08 08:12:10 +00:00
LICENSE krata: relicense to Apache License 2.0 2024-03-13 11:38:14 +00:00
LICENSING.md krata: relicense to Apache License 2.0 2024-03-13 11:38:14 +00:00
README.md krata: improved doc structure 2024-03-08 08:12:10 +00:00
SECURITY.md krata: introduce code of conduct and security policy 2024-03-07 17:04:53 +00:00

krata

The Edera Hypervisor

license discord check nightly


Introduction

The krata hypervisor makes it possible to launch OCI containers on a Xen hypervisor without utilizing the Xen userspace tooling. krata contains just enough of the userspace of Xen (reimplemented in Rust) to start an x86_64 Xen Linux PV guest, and implements a Linux init process that can boot an OCI container. It does so by converting an OCI image into a squashfs file and packaging basic startup data in a bundle which the init container can read.

In addition, due to the desire to reduce dependence on the dom0 network, krata contains a networking daemon called kratanet. kratanet listens for krata guests to startup and launches a userspace networking environment. krata guests can access the dom0 networking stack via the proxynat layer that makes it possible to communicate over UDP, TCP, and ICMP (echo only) to the outside world. In addition, each krata guest is provided a "gateway" IP (both in IPv4 and IPv6) which utilizes smoltcp to provide a virtual host. That virtual host in the future could dial connections into the container to access container networking resources.

krata is in its early days and this project is still a work in progress.