Distributed containerlabs, powered by Kubernetes.
Clabernetes or c9s (pronounced: see-nines) turns every network node and wire into an independently reconciled resource, then runs your containerlab workloads across the cluster.
Distributed labs
Declaratively defined, intelligently distributed
spine-01
spine-02
leaf-01
leaf-02
leaf-03
One resource
per network node
One resource
per point-to-point wire
One cluster
for distributed labs
Designed for real labs
A Kubernetes API for network infrastructure.
Keep containerlab vocabulary while gaining the reconciliation, policy, and distribution model of Kubernetes.
Primary API
Node and Link first
Model each network node and wire as an independently reconciled Kubernetes resource.
Learn moreKubernetes native
Policy that composes
Use launcher profiles, scheduling, persistence, services, and familiar cluster workflows.
Learn moreEasy adoption
Containerlab compatible
Run existing topologies through the supported Topology compiler or emit primitive resources.
Learn moreHow it works
From intent to running lab.
Author direct resources or bring an existing topology. c9s handles the controller and launcher lifecycle.
Describe
Topology or direct CRs
Reconcile
Nodes, links, and policy
Run
One launcher per node
Ready to build?
Your first distributed lab is one quickstart away.
Launch a disposable KinD cluster, install c9s, and connect your first network nodes.
Open the quickstart