The GUI
for containerlab.¶
Draw a network, deploy it, and look inside it. In VS Code, on your desktop, or in your browser.
name: fabric
topology:
defaults:
kind: nokia_srlinux
image: ghcr.io/nokia/srlinux:latest
nodes:
spine1:
type: ixrd3
spine2:
type: ixrd3
leaf1:
type: ixrd2
leaf2:
type: ixrd2
leaf3:
type: ixrd2
client1:
kind: linux
image: ghcr.io/srl-labs/network-multitool:latest
client2:
kind: linux
image: ghcr.io/srl-labs/network-multitool:latest
client3:
kind: linux
image: ghcr.io/srl-labs/network-multitool:latest
links:
- endpoints: [spine1:e1-1, leaf1:e1-49]
- endpoints: [spine1:e1-2, leaf2:e1-49]
- endpoints: [spine1:e1-3, leaf3:e1-49]
- endpoints: [spine2:e1-1, leaf1:e1-50]
- endpoints: [spine2:e1-2, leaf2:e1-50]
- endpoints: [spine2:e1-3, leaf3:e1-50]
- endpoints: [leaf1:e1-1, client1:eth1]
- endpoints: [leaf2:e1-1, client2:eth1]
- endpoints: [leaf3:e1-1, client3:eth1]
name: fabric
topology:
defaults:
kind: nokia_srlinux
image: ghcr.io/nokia/srlinux:latest
nodes:
spine1:
type: ixrd3
spine2:
type: ixrd3
leaf1:
type: ixrd2
leaf2:
type: ixrd2
leaf3:
type: ixrd2
client1:
kind: linux
image: ghcr.io/srl-labs/network-multitool:latest
client2:
kind: linux
image: ghcr.io/srl-labs/network-multitool:latest
client3:
kind: linux
image: ghcr.io/srl-labs/network-multitool:latest
links:
- endpoints: [spine1:e1-1, leaf1:e1-49]
- endpoints: [spine1:e1-2, leaf2:e1-49]
- endpoints: [spine1:e1-3, leaf3:e1-49]
- endpoints: [spine2:e1-1, leaf1:e1-50]
- endpoints: [spine2:e1-2, leaf2:e1-50]
- endpoints: [spine2:e1-3, leaf3:e1-50]
- endpoints: [leaf1:e1-1, client1:eth1]
- endpoints: [leaf2:e1-1, client2:eth1]
- endpoints: [leaf3:e1-1, client3:eth1]This is the real editor's renderer. Select a node to find it in the YAML.
From drawing to a running network¶
The topology file stays the source of truth. The app is a faster way to write it, run it, and debug it.
Runs where your labs are¶
Labs run on Linux next to Docker. Pick the app that gets you there.
# Diagram only: how the apps reach a lab host. Not a deployable lab.
name: architecture
topology:
nodes:
vs-code: {kind: linux}
desktop-app: {kind: linux}
browser: {kind: linux}
web-app: {kind: linux}
containerlab: {kind: linux}
clab-api-server: {kind: linux}
spine: {kind: linux}
leaf1: {kind: linux}
leaf2: {kind: linux}
links:
- endpoints: [spine:e1-1, leaf1:e1-49]
- endpoints: [spine:e1-2, leaf2:e1-49]
# Diagram only: how the apps reach a lab host. Not a deployable lab.
name: architecture
topology:
nodes:
vs-code: {kind: linux}
desktop-app: {kind: linux}
browser: {kind: linux}
web-app: {kind: linux}
containerlab: {kind: linux}
clab-api-server: {kind: linux}
spine: {kind: linux}
leaf1: {kind: linux}
leaf2: {kind: linux}
links:
- endpoints: [spine:e1-1, leaf1:e1-49]
- endpoints: [spine:e1-2, leaf2:e1-49]Two containers, one link, five minutes¶
Deploy a tiny lab and ping across it.