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
_vntdsuffix) 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:
Permissions
Ensure the script is executable before the first run: chmod +x run.sh
Navigation
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.