My LFX mentorship started on 1 June with the Moja Global Organisation. By the end of next week (15 July) will have our first evaluation after this we will receive our first stipend. I have already written one blog for the first week you can find it here.
So far things are going really great. I am working on the FLINT Cloud project which is used for the continuous deployment of FLINT. The project also aims to simplify the process of installation by supporting a single command or step installation process. Check out this link for more info FLINT.Cloud.
In LFX mentorship doesn’t follow any list check method to track your progress. In this, if you are learning and moving forward at your own pace then you can easily pass the evaluations. Unlike other open-source programs where you have to complete the work by a given deadline.
My Work so far
After first week was over I started working on the two tasks that I was given one of them was to implement
CI/CD for FLINT.Cloud’s REST API FLINT.Example and REST API GCBM using GitHub Actions and Azure Container Registry.
For this, I was given Azure login credentials that I have to use to make new container images whenever new code was pushed to the main branch of FLINT. Cloud. To make this work I used Github Actions to create a new file called push-to-azure.yaml. This file will be executed if any new changes are made to the main branch of FLINT cloud. Inside this file, I created new where three major sections
- The first step was to log in via Azure credentials which were given to me earlier. With the help of this Github would know on which Azure Cloud Registry they have to push the changes.
- The next step was to build a new docker image with all the latest changes and an updated tag.
- At last, we have to push this docker image to the Azure Container Registry.
I made PRs for all the changes mentioned above. I was facing a bug that my mentor fixed which was later pushed to the repo.
Integrating Terraform scripts for FLINT.Cloud for Azure and created a production-level deployment for FLINT.Cloud
This was my next task to implement Terraform Scripts. Most of the work for this part was done by my mentor. I tested the PR on my machine and it was working like a charm.
After this, I collaborate with my partner Janvi, she was facing some errors in running a Kubernetes instance. I tested her PR on my machine as I was using ubuntu and she was using windows. In all this process I learned how to deploy a docker container to Kubernetes and all the basics of Kubernetes like services pods, LoadBalanceer, Ingress policy, and a lot of StackOverflow :) Once I tested the PR there were a few bugs that Janvi fixed and the PR that she made was running on almost all the systems. So kudos for that!!’
We had our second meeting with the mentor around the last week of June. We were given small tasks for the upcoming weeks. I was asked to review some PRs for the FLINT-UI and I joined one discussion regarding the creation of new endpoints for GCBM.
In between, I was reviewing PR for the FLINT-UI. I made some changes to the page which is used to modify the GCBM inputs (PR linked below).
As I mentioned above I started working on creating the new upload endpoints which will add new functionality to the website. We have a Documentation Working Group meeting(DWG), In which we finalized the user flow for the GCBM simulation. I was asked to create new endpoints for the title and upload configuration files separately for all the categories. Through these endpoints, users will be able to upload files separately for each category.
For the next week, I will be working on the FLINT cloud itself few more changes are to be made to make it work properly.