kaiten

module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 9, 2026 License: BSD-3-Clause

README

Kaiten

Made with Go GoDoc Reference License GitHub stars

Kaiten is an experimental container runtime built in Go that combines a content-addressed snapshot store with a virtual filesystem and Linux namespace isolation. It imports Linux root filesystems, stores them as deduplicated snapshots, and executes them inside isolated runtime environments.

Project Status: Experimental (v0.1.0)

Features

  • Content-addressed object storage
  • Content-defined chunking with deduplication
  • Snapshot creation and restoration
  • FUSE-based virtual filesystem
  • Lazy loading of file contents
  • Linux namespace isolation (PID, Mount, IPC, UTS)
  • pivot_root()-based root filesystem switching
  • Symbolic link support
  • Import existing Linux root filesystems
  • Snapshot history, checkout, and garbage collection

Requirements

  • Linux
  • Go 1.24+
  • FUSE
  • Root privileges (required for running containers)

Building

git clone https://github.com/Gthamsrim1/kaiten.git
cd kaiten

go build -o kaiten ./cmd/kaiten

Usage

Import a root filesystem
./kaiten import /path/to/rootfs

Example using Alpine:

./kaiten import /tmp/alpine/rootfs
List snapshots
./kaiten snapshots
View snapshot history
./kaiten log
Checkout a snapshot
./kaiten checkout <snapshot-id>
Run a container
sudo ./kaiten run /bin/sh

or

sudo ./kaiten run echo Hello, Kaiten!
Garbage collect unused objects
./kaiten gc

Project Structure

cmd/            CLI
internal/
    chunk/      Content-defined chunking
    persist/    Snapshot persistence
    runtime/    Container runtime
    tree/       Virtual filesystem

Roadmap

  • cgroup v2 support
  • Container networking
  • Bind mounts
  • /dev management
  • User namespaces
  • OCI image support

License

Directories

Path Synopsis
cmd
kaiten command
kaitenfs command
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL