Skip to content

Scripts & Automation Overview

To minimize human errors and automate the workflow, the project includes a comprehensive set of automation scripts. These tools manage the entire lifecycle of the laboratory, from building custom Docker images to orchestrating complex network topologies with Containerlab

Core Philosophy

The automation framework is built upon three fundamental principles:

  • Centralized Control


    A single entry point (run.sh) provides access to every management function, eliminating the need to memorize complex CLI flags.

  • Naming Conventions


    The system automatically enforces project-specific tags (using the _vntd suffix) to prevent conflicts with other local Docker resources.

  • Interactive Guidance


    User-friendly interfaces that guide the operator through operations by removing the needing of memorize complex flags or instructions.

Main Entry Point: run.sh

The run.sh script, located at the project root, serves as the main entry point for interacting with the environment. It acts as a wrapper that delegates tasks to specialized scripts in the scripts/ directory.

Execution

To launch the project management menu, execute:

./run.sh

Permissions

Ensure the script is executable before the first run: chmod +x run.sh


The automation logic is divided into two modules:

  • Lab Management: Orchestrates Containerlab deployments and monitors active topologies.
  • Image Management: Automates Docker build, import, and cleanup operations.