OpenWRT PPA @ Google Summer of Code 2021

File:OpenWrt Logo.svg - Wikimedia Commons
Mentor : Benjamin Henrion

Hey everyone , hope everyone is doing fine. I am delighted to have been given this opportunity to work for OpenWRT project under Freifunk.

A little about myself

I am currently a sophomore at Birla Institute of Technology, Mesra. I have always been interested in the technical aspect of the world, as to how from the stroke of a keyboard does one get to build/execute such seemingly daunting tasks with such ease. 

The curiosity led me to the beautiful world of automation and containerisation along with managing these tasks at scale.

Apart from being a tech-nerd, I have always loved to explore the great mysteries of life, watch football, and play Golf among many others.

I am always ready to talk about the above at any time, so feel free to contact me.

Project Overview

OpenWRT is a Linux distribution for off the shelf Wi-Fi routers. People who want to make and distribute their personal packages, often for development purposes, so far have the option to build the whole firmware from zero, but very few people use the OpenWRT SDKs.

The idea behind this project is to provide the user with an interface where they can simply put in their GitHub repo URL, which can be then compiled and built into an executable Docker Image fit for Launch in k3d cluster, and also available locally.

Benefits to Community

This project will be beneficial for users since now they won’t have to build everything from scratch, and now only provide the URL of their source code.

Additionally, it will also try to achieve the following goals :

  • Autonomy: no external person is needed for the platform.
  • Build with many different targets like  brcm2708, ar71xx, x86, sunxi, etc…
  • Rebuilding after every commit can become possible.

And many more …..

Deliverables

  1.  A front-end made using flask and python, where the user just needs to login and enter his/her repo URL.
  2. A backend made up using python and shell scripting for creating Docker Image based on the provided source-code.
  3. A database that stores this build docker image, made using MY-SQL database.
  4. A backend service integrating the above with k3d cluster for hosting docker container made using the container.

Next steps

I would be starting from implementing scripts for setting up the entire environment as well as working on the deployment of the newly created docker image on the local k3d cluster. I will also be in touch with my mentor , regarding the execution cycle and scope for improvement of the project.