Skip to content

Work in progress distributed system that simplifies the orchestration of containers and virtual machines.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

next-hat/nanocl

Nanocl

Just Develop, Deploy.

Orchestrate like never before. K8s reimagined.

WhyInstallDiscord𝕏

Tests Clippy codecov

Quick install (requires Docker)

curl -fsSL https://download.next-hat.com/scripts/get-nanocl.sh | sh

Then complete the required Post‑installation steps.

Nanocl is an open‑source distributed system that reimagines cloud‑native orchestration from the ground up.

It gives developers a frictionless local to production workflow while hiding multi‑service complexity (no more ad‑hoc scripts, CORS hacks, or brittle docker‑compose sprawl). The same declarative model powers both dev and prod.

You could rebuild a K8s inside Nanocl… but you probably won't want to.

Built in 🦀 Rust for efficiency & security, Nanocl targets platform engineers who need strong isolation, predictable performance, and simpler operations—without the cognitive overhead of a full Kubernetes distribution.

Table of Contents

  1. Why Nanocl
  2. Key Features
  3. Installation
  4. Quick Start
  5. Latest news
  6. Usage
  7. Architecture
  8. Demo
  9. Roadmap
  10. Security
  11. Contribute
  12. Support & Community
  13. Sponsors
  14. License
  15. Star History

Why Nanocl

Modern teams need faster iteration loops, secure multi‑tenant isolation, and a production‑grade transition path—without operating a heavyweight control plane on day one. Nanocl focuses on:

  • Dev→Prod symmetry: declarative Statefiles (YAML/TOML/JSON) stay identical across environments.
  • Low operational overhead: minimal moving parts; opinionated defaults.
  • Security & efficiency: memory‑safe implementation, reduced footprint versus scripting stacks.
  • Extensibility: resources & rules let you model networking, routes, TLS, jobs, and more.
  • Pragmatic scope: not a Kubernetes clone—lean where K8s is heavy, expressive where docker‑compose is limiting.

Key Features

  • Declarative Statefiles for cargoes (containers), resources, jobs & virtual machines.
  • End‑to‑end TLS (including internal mesh primitives in progress).
  • Dynamic routing & DNS propagation (nproxy, ncproxy, ndns).
  • Resource abstraction layer for pluggable kinds (e.g. proxy rules).
  • Jobs & cron style automation.
  • Backup & orphan cleanup tooling.
  • Multi-format config: YAML / TOML / JSON.
  • Batteries included CLI & daemon.
  • Minimal host footprint; modular optional services.

Installation

Nanocl supports Linux, macOS, and Windows. See the Installation guide.

Quick install

Run the installer (requires Docker):

curl -fsSL https://download.next-hat.com/scripts/get-nanocl.sh | sh

Then complete the required Post‑installation steps.

If you're just evaluating, a single-node install usually takes under two minutes.

Quick Start

Create a minimal Statefile and apply it:

ApiVersion: v0.16
Cargoes:
  - Name: hello
    Container:
      Image: ghcr.io/next-hat/documentation:0.16.0

Apply & inspect:

nanocl state apply -s ./state.yml
nanocl cargo ls
nanocl cargo logs hello

Remove it:

nanocl state rm -s ./state.yml

Next: explore Get Started.

Nanocl is evolving fast. Feedback & early adopters shape the roadmap—see below.

Latest news

Usage

Statefiles drive everything. Here's the Statefile we use to deploy our own documentation:

ApiVersion: v0.16
Cargoes:
  - Name: doc
    Container:
      Image: ghcr.io/next-hat/documentation:0.16.0
Resources:
  - Name: docs.next-hat.com
    Kind: ncproxy.io/rule
    Data:
      Rules:
        - Domain: docs.next-hat.com
          Network: Public
          Locations:
            - Path: /
              Target:
                Key: doc.global.c
                Port: 80

Actions:

  • Apply: nanocl state apply -s ./state.yml
  • Remove: nanocl state rm -s ./state.yml

More object options in the References.

Architecture

Nanocl is composed of modular containerized services:

Component Purpose
nstore Persist cluster state
ndaemon REST API & control surface
nmetrics Resource usage collection
nproxy Data‑plane proxy for containers/VMs (optional)
ncproxy Reconciles proxy config (optional)
ndns DNS records manager (optional)
ncdns DNS reconciliation (optional)

Resources:

Single‑node simplified architecture:

Demo

Cargo & Resource

Job

VM

Roadmap

High‑level focus (non‑exhaustive):

  • Service mesh primitives (progressive rollout of secure networking).
  • Extended resource kinds (cert management, quotas).
  • Multi‑node clustering UX refinements.
  • Improved observability (tracing & richer metrics).
  • Provider abstraction layer (future pluggable runtimes).

Track changes & releases in the blog.

Security

Please report vulnerabilities via our Security Policy. Responsible disclosure helps everyone.

Contribute

Little by little, a little becomes a lot.

Join our Discord the be part of NextHat's journey to shape the future of planet-scale infrastructure management.

Every contribution is welcomed.
➡️ Bug reports, feature requests, and pull requests are the most common ways to contribute.
For example if you're not a developer yourself you could help us by improving the Documentation, too.

Learn how to setup a development environment via the Contribution Guide.
Please don't hesitate to join our team on Discord if you have any questions! 🤗

Support & Community

  • Chat: Discord
  • Issues: GitHub Issues & Discussions
  • Questions: Open a discussion or join Discord
  • Updates: Follow us on 𝕏

Sponsors

GitHub ⭐️ helps us a lot to further grow our open-source ecosystem for & with our community.

Sponsors are the ones who make this project possible.
They help us to have the necessary resources for Nanocl to keep it alive and to improve it further.
If you want to become a sponsor, please use the GitHub Sponsor button.

People that sponsor us will have their name or logo displayed here, and will have access to a special role on our Discord.

Our very kind sponsors:

daemonfire300
daemonfire300

License

Dual licensed under either:

You may use either license at your discretion.

Star History

We are just at the beginning of a new paradigm shift..

Star History Chart

Sponsor this project

 

Packages

 
 
 

Contributors 14