Releases: Katakate/k7d
Release list
v0.3.0
Release 0.3.0
Ubuntu 24.04 is now a first-class guest: a three-node k3s cluster boots
on bare VMs, takes Cilium, Tetragon, and Longhorn, and still warm-forks.
A gym leases those nodes, a tree jailer contains them, and an MCP demo
plus live viewer show a cluster-fork incident end to end.
v0.2.2
v0.2.1
v0.2.0
[0.2.0] — 2026-08-16
Second release. Bigger guests boot, container writes land on a real disk
instead of guest RAM, a restored guest knows what time it is, and an idle
vCPU costs ~1% of a core rather than 100%.
Added
- Writable storage on a host disk (
k7d.katakate.org/scratch-size). A
container's overlay upper now lives on a sparse ext4 image attached as a
read-write virtio-blk device (default 8 GiB) instead of a RAM-backed
layer. Writable capacity is no longer tied to the pod's memory limit, and
filling it gives the writerENOSPCinstead of guest-wide memory
pressure. A warm fork gets a reflink-CoW copy, isolated from parent and
siblings; the image is unlinked with the VM. - Per-container ephemeral-storage limits
(k7d.katakate.org/container-scratch-size). Aname=sizelist over
Kubernetes container names, e.g.builder=2Gi,logger=64Mi, gives each
named container its own image so an overrun stays that container's
problem. Opt-in: each image spends one of the VM's virtio-MMIO device
slots, and a pod using it is served by fork rather than the warm pool. - Guest ephemeral-storage usage accounting over the agent protocol.
packaging/install.shfor installing the daemon, shim, and guest
artifacts from a release tarball.
Fixed
- Guests of 4 GiB and larger now boot. Guest RAM is split across the
32-bit MMIO hole instead of overlapping the device window. - A restored guest knows the wall clock. The guest is given kvmclock and
the host a way to re-base it, so a VM resumed from a snapshot hours later
no longer reports a date from 1999 — which broke TLS certificate
validation for anything the guest fetched. - An idle vCPU no longer costs a full host core. The guest uses the
haltpoll cpuidle governor with a 200 µs window, bringing an idle vCPU to
roughly 1% of a core. - The daemon alone chooses which guest kernel and initramfs a VM boots, and
refuses to create a VM without them rather than guessing. - OCI cgroup mounts are translated to guest cgroup2 with Kata-like
namespace nesting, and guest IPv6 is enabled. - Pause/resume, fork-source adoption, teardown, and stats fixes found while
integrating the k7 backend.
Install
tar xzf k7d-v0.2.0-x86_64-linux.tar.gz
cd k7d-v0.2.0-x86_64-linux
sudo ./install.shk7d v0.1.0
First release of k7d — a purpose-built microVM runtime for Kubernetes sandboxes: sub-second VM boot, CoW memory forks, snapshot trees, and a containerd shim (runtimeClassName: k7).
Install
curl -LO https://github.com/Katakate/k7d/releases/download/v0.1.0/k7d-v0.1.0-x86_64-linux.tar.gz
tar xzf k7d-v0.1.0-x86_64-linux.tar.gz && cd k7d-v0.1.0-x86_64-linux
sudo ./install.sh # add --with-k3s to register the RuntimeClassRequires Linux x86_64 with KVM (/dev/kvm). The tarball ships k7d, containerd-shim-k7-v1, the guest kernel, initramfs, and install.sh.
For the full sandbox platform (Kubernetes orchestration, CLI/API/SDK), see Katakate/k7 and the docs at docs.katakate.org.