Over the past few weeks I have once again had the opportunity to take part in developing the LibreFoodPantry software platform. From start to finish this second sprint has challenged our team in creating a solution to the question of security for this software. In this sprint we had mainly focused on how key cloak deployment would work and how we would adapt the existing web pages to utilize this security platform. We learned much throughout the sprint however we found that there was still much more to our role than just the webpages.
Just to reiterate our goals, a group of my peers and I were tasked with creating a secure login service for LibreFoodPantry that would allow users to sign up and sign into the food pantry’s website. We had previously spent the last sprint attempting to understand how this third party software functioned and what we would need to do in order to implement it. This sprint would focus on the implementation of Keycloak and what would be the least disruptive method of doing so. The goals were as follows; create a working instance of keycloak with a front page without any containerization, understand how to create and maintain users, roles, secure each new page we added within the same login system, then transition this system to a container system such as Docker.
Getting started we first focused our efforts on everyone getting an instance of Keycloak running. After ensuring that I could get it working reliably I posted my results on Gitlab for my peers to have their own working version of Keycloak with a frontend page. We were then able to move on to our other issues. I was tasked with reviewing NPM and how to adapt existing frontend pages to Keycloak as well as ensuring that permissions and logins could be carries between different pages. Others among us worked on researching the deployment of Keycloak on a Kubernetes cluster using AWS as well as communicating with other groups to begin to synchronize and ensure we were working on features that mattered for the other groups.
The team worked well together, and we once again made a point to meet twice a week to discuss progress and synchronize ourselves outside of normal meeting times. It was worth the extra meeting times as I was able to assist group members in ensuring that they could have Keycloak working and that their computer was set up to properly install and run Keycloak and the frontend page.
Our main problems came about once again in properly updating our work in the issues tab and a failure to properly estimate the weight of some issues we had created. I once again found that I was stuck on a single job most of the sprint trying to adapt existing pages to utilize Keycloak. It would be apt to say that I was again immersed in my own work and communicating less than would be ideal. However unlike last sprint I was able to work past this in a shorter time frame and was able to communicate this to my groupmates. With this out of the way I had started work on adapting this system to work in containers such as those found in Docker or in a Kubernetes cluster.
At the end we had started to make more progress quickly but by that time the sprint had come to a close. While this was not an ideal sprint, it was definitely an improvement over the last and I feel that we had done better in estimating the weight of certain issues although not solving this problem entirely. We hope to continue practicing working in the Scrum format and improving our grasp on what issues need to be created and how much weight they should carry.
From the blog CS@Worcester – George Chyoghly CS-343 by gchyoghly and used with permission of the author. All other rights reserved by the author.