Nodes and Links
The primary Clabernetes API for describing network nodes and point-to-point wires.
Node and Link resources form the primary c9s API. A Node contains one containerlab node
definition, while a Link contains one connection between two node interfaces.
Both resources are namespace-scoped. A namespace is therefore the boundary of a directly authored lab, and both endpoints of a Link must refer to Nodes in that namespace.
Node
The Node name is the containerlab node name. Its specification uses containerlab vocabulary for
fields such as kind, image, type, startup-config, and exec.
apiVersion: c9s.run/v1alpha1
kind: Node
metadata:
name: srl1
spec:
launcherProfileRef:
name: lab-policy
kind: nokia_srlinux
image: ghcr.io/nokia/srlinux:26.3A Node can reference one same-namespace
LauncherProfile. If the reference is omitted, global Config
defaults apply. An explicit reference that does not exist prevents the Node from being realized.
Link
A Link declares exactly two endpoints and the connectivity mechanism used to join them.
apiVersion: c9s.run/v1alpha1
kind: Link
metadata:
name: srl1-e1-1-multitool-eth1
spec:
endpointA:
nodeName: srl1
interfaceName: e1-1
endpointB:
nodeName: multitool
interfaceName: eth1
connectivity: vxlanWiring belongs only to Link objects; interfaces are not embedded into Node specifications. The link controller validates endpoints and records tunnel allocation in status, while each launcher watches only the Links terminating on its Nodes.
Why direct resources?
Each Node grows only with its own configuration and each Link remains one wire. This removes the
single aggregate-object size limit of a source Topology and allows tooling such as clabverter --emit-crs to produce independently reconciled resources.
Direct resources do not promise unlimited scale: Kubernetes API capacity, controller throughput, and the total object count still matter.
Complete example
The individual-resource SR Linux and multitool example contains a LauncherProfile, two Nodes, and one Link.
See the Node reference and Link reference for all fields.