The honest starting point

A network engineer and a data analyst sitting at the same table, looking at the same problem from two different angles.

The network engineer sees infrastructure — topologies, protocols, automation pipelines, CI/CD loops. The data analyst sees the same infrastructure and asks: what does the data say? What do the metrics look like when BGP converges? What does a healthy OSPF adjacency look like in Grafana? What happens to interface counters when we inject traffic?

Most network automation content shows you the CLI output and stops there. We wanted to show the full picture.

That is packets.lol.


What this series is

The containerlab series is a structured journey from zero to a complete network automation platform — built in public, episode by episode, with everything open sourced.

Every episode produces three things:

  1. A validated lab — a containerlab topology you can deploy in minutes, tested by CI on every push, free to use and modify
  2. A blog post — the technical walkthrough you are reading right now
  3. A data view — what the lab looks like in metrics, dashboards, and telemetry visualisations

The series runs 18 episodes from containerlab basics through to an AI-controlled network operations platform using a custom MCP server and Claude Desktop.


The two of us

The network engineer comes from a traditional networking background. Routing, switching, automation, CI/CD, infrastructure as code. Responsible for every lab topology, every pipeline, every line of Python that makes the infrastructure work.

The data analyst brings three years of Power BI, Tableau, and SQL. Now applying those skills to network telemetry — Prometheus, Grafana, streaming metrics from live network devices, and eventually evaluating AI tool outputs for accuracy.

We are learning product engineering by building a product. Every decision we make — version control, CI/CD, observability, testing, release management — is documented, explained, and shipped.


The full stack

IVBOATAnelburIfrostarsgeofiai:rmfnsovaittnatcerbiguciogrcolneatni:ntutt:irryoeo:n:l::UFHPABMbournNCurgosGPngomiteebBSuj+tlleohear2Cesv2(lu+te.soser0euNr4ld+o+/ffr2-lGnC4haril.orara0sefu4tadePne+daagDDGeeoissctkk(te+yoropCu+I/aCCroDen)thaeirnee)rlab

Everything runs on our own server. All source code is open.


The episode map

TrackEpisodesWhat we build
BeginnerEP01–EP05Containerlab foundations, first labs
IntermediateEP06–EP11OSPF, BGP, EVPN/VXLAN, lab as code
AdvancedEP12–EP18Ansible, Nornir, telemetry, CI/CD, MCP

Each episode builds on the last. You can start anywhere, but the series is designed to be followed in order.


How to follow along

Subscribe to the blog — RSS feed at /index.xml

YouTube — every episode has a companion video. Subscribe at @packetslol

Grab the lab files — every topology is in our open repo, linked at the bottom of each post

Ask questions — open an issue in the labs repo, we read everything


EP01 drops next week

The first real episode covers containerlab installation, your first topology file, and the deploy → inspect → destroy lifecycle.

See you there.

— packets.lol