A Python-based network automation framework for managing and configuring network devices at scale.
Automate backups, deployments, and provisioning across multi-vendor environments.
Check out our latest additions:
See NEW_FEATURES.md for complete setup instructions!
- Features
- Demo
- Architecture
- Installation
- Quick Start
- Usage
- Configuration
- Examples
- Project Structure
- Security
- Roadmap
- Contributing
- License
| Feature | Description |
|---|---|
| ๐ Automated Backups | Schedule and execute configuration backups with timestamps |
| ๐ Template Engine | Jinja2-powered configuration templates for standardized deployments |
| ๐ Multi-Vendor | Support for Cisco, Juniper, Arista, HP, and 50+ vendors via Netmiko |
| ๐ Comprehensive Logging | Detailed audit trails for compliance and troubleshooting |
| โฎ๏ธ Rollback Support | One-command rollback to previous configurations |
| ๐ฏ Batch Operations | Execute commands across multiple devices simultaneously |
| ๐ Secure by Design | Credential management best practices built-in |
| ๐ ๏ธ Easy Configuration | Simple YAML-based device inventory |
The framework follows a modular architecture for flexibility and maintainability:
graph TB
subgraph User["๐ค Network Engineer"]
CLI[Command Line Interface]
end
subgraph Framework["๐ Network Automation Framework"]
subgraph Core["Core Modules"]
DM[Device Manager<br/>Connection Handler]
end
subgraph Features["Features"]
Backup[Config Backup<br/>Module]
Deploy[Config Deploy<br/>Module]
end
subgraph Storage["Storage & Templates"]
Templates[Jinja2 Templates<br/>config/templates/]
BackupDir[Backup Storage<br/>backups/]
Logs[Logs<br/>logs/]
end
end
subgraph Devices["๐ Network Infrastructure"]
R1[Router 1<br/>Cisco IOS]
R2[Router 2<br/>Cisco IOS]
SW1[Switch 1<br/>Arista EOS]
SW2[Switch 2<br/>Juniper]
FW[Firewall<br/>Palo Alto]
end
subgraph Config["โ๏ธ Configuration"]
YAML[devices.yaml<br/>Device Inventory]
end
CLI -->|Run Scripts| Backup
CLI -->|Run Scripts| Deploy
Backup --> DM
Deploy --> DM
DM -->|SSH/Netmiko| R1
DM -->|SSH/Netmiko| R2
DM -->|SSH/Netmiko| SW1
DM -->|SSH/Netmiko| SW2
DM -->|SSH/Netmiko| FW
Backup -->|Save configs| BackupDir
Deploy -->|Load templates| Templates
DM -->|Write logs| Logs
YAML -.->|Device Info| DM
Templates -.->|Config Templates| Deploy
style Framework fill:#e1f5ff
style Devices fill:#fff4e1
style Config fill:#f0f0f0
style User fill:#e8f5e9