// the find
next-hat/nanocl
Work in progress distributed system that simplifies the orchestration of containers and virtual machines.
Nanocl is a Kubernetes alternative written in Rust that orchestrates containers and VMs through declarative Statefiles. It sits between docker-compose and full K8s in complexity — you get namespacing, dynamic routing, DNS management, and VM support without the YAML surface area of Kubernetes. Aimed at platform engineers running self-hosted infrastructure on a small number of nodes.
The resource abstraction layer is genuinely well-designed: proxy rules, DNS entries, and other infrastructure concerns are first-class objects in the same Statefile as your containers, so you don't need a separate nginx config, a separate DNS tool, and a separate compose file. The Rust implementation keeps the daemon footprint small and the memory safety story honest — no GC pauses in the control plane. The modular architecture (ncproxy wraps nginx, ncdns wraps dnsmasq) means the data planes are battle-tested even if Nanocl itself isn't. E2E TLS with mesh primitives already landing in v0.16 is real progress for a project this size.
At ~1000 stars it's still a one-team project: the sponsorship section has exactly one person and the commit history reflects that, so bus factor is a genuine concern before betting infrastructure on it. The distributed/multi-node story is listed as 'roadmap' — the clustering UX is unfinished, which means the K8s-alternative pitch falls short for anything beyond a handful of nodes today. Observability is thin: nmetrics collects resource usage but tracing and structured log aggregation are roadmap items, so debugging a misbehaving cargo in production means falling back to raw container logs. The install path still requires Docker as a dependency, which is an odd coupling for a project positioning itself as a Docker-compose replacement.