repositorypackage
0.0.0-20241218163418-6133b446a7a1
Repository: https://github.com/troutsoftware/labomatic.git
Documentation: pkg.go.dev
# README
Lab-O-Matic: A Language Description for Labs
labomatic is a tool to configure and run a lab. It aims to provide a singular point in the lab creation space:
- use configuration-as-code (versioning, …)
- the network structure is described using Python (Starlark)
- all systems are image-based, with a new well-known images
- we only aim to emulate SME-level infrastructure
- QEMU + netlink
- minimalist
Other tools (netlab, containerlab, …) will make different choices.
First install (Ubuntu)
NOTE: all those steps are meant to be automated too.
The Ubuntu image from upstream needs to be configured to accept authentication.
- Generate the seed image
cloud-localds seed.img user-data.yaml metadata.yaml
- Run the VM
sudo qemu-system-x86_64
-machine accel=kvm,type=q35
-cpu host
-m 2G
-nographic
-device virtio-net-pci,netdev=net0
-netdev user,id=net0
-drive if=virtio,format=qcow2,file=/tmp/ubuntu-22.04-minimal-cloudimg-amd64.img
-drive if=virtio,format=raw,file=seed.img
run
sudo systemctl disable systemd-networkd-wait-online.service sudo systemctl mask systemd-networkd-wait-online.service