Using a Raspberry PI as a Configuration Generator

Using a Raspberry PI as a Configuration Generator

This post is part of the series “How to build your own Network Configuration Generator”. You find the overview about the entire series here. The last state of the code is available at the Network Configuration Generator GitHub repository. This post discuss the first use case, where we provide the generated configurations “to the outside world”. I’ll like to show you today, how the Network Configuration Generator can be used on an “Appliance” to provide configurations using FTP and TFTP.
Deploy the Network Configuration Generator on a Server

Deploy the Network Configuration Generator on a Server

In the last posts, I described how the Web service is created and how it works. Now it is time to deploy it on a server. This post contains some background information about server-side python, the deployment of such applications and the automation of the deployment process itself. After reading this post, you’ll know how server-side python works and how to deploy the Network Configuration Generator on a server or within a VM.
Web application styling using UIkit

Web application styling using UIkit

I like to show you today, how I update the style of the Network Configuration Generator using the UIkit CSS framework. As mentioned in my last post, the (most) functional requirements are already satisfied, but plain HTML is not the best look and feel for a Web service.
Configuration Templates with Python and Mako

Configuration Templates with Python and Mako

I’ll like to discuss the Mako Template Engine and the integration to the Network Configuration Generator in this post. The initial Use Case for the Web service includes the following requirements: dynamically detection of configuration variables, control structures within the templates and the bulk generation of configuration data.
Overview about the Flask web framework

Overview about the Flask web framework

I’ll like to provide a quick overview about the Flask microframework and the associated modules and libraries that I used during the development of the Network Configuration Generator. There are many tutorials out there on “how to develop a Flask application”, therefore I will limit the code examples to a minimum in this post. I’ll focus on the resources that I’ve used for learning.