Skip to content

Network automation controller written in Python

License

Notifications You must be signed in to change notification settings

AstritCepele/netwarden

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NetWarden - network automation controller written in Python

This is the repository with the code written live on the streams. It is going to be built over multiple streams.
The goal of this project is to build a network automation controller using state-of-the-art technologies: Python asyncio / FastAPI web framework / RESTCONF/NETCONF / Vue.JS.
Unlike other open-source NMS/controllers (e.g. eNMS), this project is not planned to be released on PyPi and maintained. Instead, it is a sample code to show what is possible and how hard/easy it is to build your custom network controller from scratch.

Controller functions

This controller should be able to do the following:

  • Display overview of the inventory
  • Gather some operational statistics from the whole network on-demand
  • Make configuration changes either high-level services or some low-level details
  • Perform network testing on schedule or on-demand to verify the network health
  • Provision new devices (ZTP)
  • Manage software images on the devices

Running

To start backend, execute this in backend folder:
poetry run uvicorn netwarden.app:app --host 0.0.0.0 --port 8000 --reload
To start frontend, execute this in frontend folder:
yarn serve

About

Network automation controller written in Python

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Vue 61.6%
  • Python 18.5%
  • JavaScript 13.6%
  • HTML 6.3%