Back to News
Advertisement
rrealexweb about 4 hours ago 6 commentsRead Article on github.com

FR version is available. Content is displayed in original English for accuracy.

I built kern because I needed a fast, zero-daemon tool to set CPU/RAM limits and run isolated tasks without the overhead of Docker. It's a single 1.5MB Rust binary using OCI images, cgroup v2, and namespaces. Boxes start in ~3.5ms. It's not a Kubernetes CRI or a microVM, just a standalone container and resource runtime for CLI and agents.
Advertisement

⚡ Community Insights

Discussion Sentiment

100% Positive

Analyzed from 183 words in the discussion.

Trending Topics

#cri#hit#building#title#runtime#build#smolvm#https#com#kern

Discussion (6 Comments)Read Original on HackerNews

chrisweekly40 minutes ago
How does this compare to "smolvm" microvms from https://smolmachines.com?
realexweb33 minutes ago
smolvm is a microVM .kern is plain OS-level isolation
k8sifyabout 1 hour ago
Can’t wait to play with this, thank you great work!
realexwebabout 1 hour ago
thanks.. let me know how it goes or if you hit any issues
jeffbeeabout 2 hours ago
It looks cool and I am building it r.n. but the submission title was a little misleading as it says "container ... runtime" right there, and I guess it is, but it is not a CRI implementation.
realexwebabout 2 hours ago
Fair, and it's not CRI. The README's limits section says "Not a Kubernetes runtime. No CRI. Use containerd or CRI-O." I meant runtime in the docker/podman sense, pull and build and lifecycle in one binary, and you're right that the word is overloaded enough that the title doesn't carry that by itself.

Since you're building it, two things you'll hit before you hit the docs. cargo install needs the package name, because it searches the whole repo and finds three packages with binaries (the CLI, the fuzz harness, the Windows shim):

cargo install --git https://github.com/getkern/kern getkern --locked

And a source build is 1.91 MB, not the 1.5 in the title. The release binary is smaller because CI builds it with a pinned nightly, build-std and optimize_for_size, on an opt-level="z" profile; the source stays plain stable Rust on purpose, so building doesn't need nightly.

Interested in what breaks.