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.
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
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