How to build a Network Configuration Generator
I struggle quite a while about the structure of this blog and the content, because there are so many ideas on top of my head that I like to write about. Thats the reason, why I sometime switch to a complete different topic from one week to another, as you may have already noticed 😉.
For this reason, I decide to create my first blog post series, which provides a practical guideline to create your own web based Network Configuration Generator. I’ll like to focus on the overall approach and the tools/frameworks that I used during the creation of this tool. At the end of the series, you’ll get a full configuration generator running as a Web service. You find the current state of the project at the Network Configuration Generator GitHub repository.
I recommend at this point that you have at least a basic understanding of the Python programming language and some basic web programming knowledge (including HTML, CSS and a little bit Javascript) before continue reading. I use some new components within this project that I haven’t used before. These are Flask as the web framework, the UIKit CSS framework and Mako as the template language.
As always, the project is written in Python version 3.x.
Content of this series
The following posts are part of this series:
- The Use Case for the Network Configuration Generator
- Overview about the Flask web framework
- Configuration Templates with Python and Mako
- Web application styling using UIKit
- Deploy the Network Configuration Generator on a Server
- Using a Raspberry PI as a Configuration Generator
- Review of the Network Config Generator
Such a component is the missing piece within many vendor specific solutions that I’ve seen so far. For this reason, I decided to to create the tool that helps you with the configuration generation process.