Skip to content

chore(report): Community bonding period report #300

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 53 additions & 0 deletions docs/2025/microservices-infrastructure/2025-06-02.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
title: Community bonding
author: Muhammad Salman
author_url: https://github.com/SalmanDeveloperz

---
<!--
SPDX-License-Identifier: CC-BY-SA-4.0

SPDX-FileCopyright Text: 2025 Muhammad Salman <[email protected]>
-->

# Community Bonding

## Community Meeting 1

*(May 12,2025)*

This was the first official meeting marking the start of the community bonding period for GSoC '25. It served as a foundational step to bring contributors and mentors together. During this meeting, mentors and contributors introduced themselves, shared insights about FOSSology, discussed their previous experiences in open source, and set expectations for the GSoC program. We also established effective communication method, Slack, and conducted a Q&A session to address any immediate questions or concerns.


## Week 1 & 2 ##

*(19 May to 29 May 2025)*

During these two weeks, I had my university final exams. Prior to this, I communicated my academic commitments with my mentors, who were very supportive and showed great understanding. Their encouragement allowed me to fully focus on my exams without any stress related to GSoC responsibilities. I appreciated their positive attitude, which reflected the inclusive and supportive culture of the FOSSology community. I maintained light communication with the mentors to stay updated on ongoing discussions, continued work on a previously raised PR and attended meetings alongside my exams.


## 1-on-1 meeting with [@Soham](https://github.com/soham4abc) ##

*(21 May, 2025)*

During the community bonding period, I had a huddle with [@Soham](https://github.com/soham4abc) on Slack. The discussion was really friendly and informative. We shared our experiences and journeys. He answered my questions kindly, motivated me, helped me with codebase setup queries and introduced me to the community and FOSSology team. He encouraged me to reach out anytime I face challenges.

## 1-on-1 meeting with [@Avinal](https://github.com/avinal) ##

*(27 May, 2025)*

I had a Google Meet session with my mentor [@Avinal](https://github.com/avinal). We talked about my studies, experience, skill set and planning ahead. We also decided on a communication plan. He shared his experience in open source, FOSSology, and professional life. I felt very comfortable speaking with him. He resolved my queries, guided me on getting started and helped finalize the codebase setup. His support and encouragement were truly appreciated.This session helped establish a strong mentor-mentee relationship.

## Community Meeting 2 ##

*(May 29, 2025)*

That was the first general meeting after the introductory one. Mentors and contributors discussed suitable meeting time slots and agreed to hold weekly meetings based on majority votes. The importance of communication, community bonding and regular updates was highlighted. Contributors were encouraged to ask questions freely. Project-specific issues were created on GitHub, though we were not required to start working before the coding period but allow to start earlier if someone interested early contributions. We also received guidance on writing documentation, reports and completing any pending or previously opened PRs/ issues.

## Activities and Work Done ##

* During Community Bonding period, I worked on previously raised PR, fixed requested changes and prepared it for merging: [fix: prevent nomos CLI from connecting to DB when not required (#1299)](https://github.com/fossology/fossology/pull/2947)

* I engaged with mentors [@Avinal](https://github.com/avinal) and [@Soham](https://github.com/soham4abc), and started discussions with fellow contributor [@Vaibhav](https://github.com/Vaibhavsahu2810). We had a call to discuss our projects, communication approach and ways to support each other. We also talked about codebase setup and resolved questions among ourselves. It was a great collaborative experience.

* By May 31, I successfully set up the FOSSology codebase on my laptop and informed my mentor about the progress and plan for the coding period. I am very excited to dive into the coding phase and give it my best!
59 changes: 58 additions & 1 deletion docs/2025/microservices-infrastructure/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,61 @@
sidebar_position: 5
title: Introduction
slug: /2025/microservices-infrastructure/
---
---
<!--
SPDX-License-Identifier: CC-BY-SA-4.0

SPDX-FileCopyright Text: 2025 Muhammad Salman <[email protected]>
-->

## Author:

[Muhammad Salman](https://github.com/SalmanDeveloperz)

## Contact Info:

- [Email](mailto:[email protected])
- [LinkedIn](https://www.linkedin.com/in/msalman199/)

## Project Title:

Complete Microservices Infrastructure for FOSSology

## What's the project about?

This project aims to complete the microservices infrastructure for FOSSology by continuing the work from GSoC 2021, with a goal to fully deploy FOSSology on Kubernetes. Over the past few years, multiple changes have been made to the codebase and the build system, requiring updates and integration strategies. Key deliverables include: - Reviewing and aligning the legacy GSoC Kubernetes setup with the current codebase - Completing pending work from pull request #2086 - Providing a fully working FOSSology Kubernetes deployment - Creating comprehensive documentation for Kubernetes setup - (Stretch Goals): Creating a single setup script, implementing health checks, and exposing usage/performance metrics This project ensures easier deployment, better scalability, and modern DevOps practices for FOSSology’s infrastructure.

## Key Deliverables

The project scope includes the following key tasks:

### Analyze Codebase Changes ###

Since 2021, various updates have been made to the FOSSology codebase:
- The build system transitioned to CMake.
- New agents were introduced that may require corresponding Dockerfiles and Kubernetes manifests.
- Expansion of REST APIs.

I will analyze these changes and formulate strategies to integrate them effectively into the Kubernetes setup.

### Inspect and Update Previous Work ###
Pull Request [#2086](hhttps://github.com/fossology/fossology/pull/2086) is currently in draft status, indicating incomplete testing, missing features (e.g., health checks, metrics), and some potential bugs. Additionally, ETCD integration might require enhancements for improved scalability.
I will thoroughly inspect the previous work, resolve any issues, and bring the PR to completion.

### Deploy FOSSology on Kubernetes ###

The end goal is to have a fully functional and production-ready deployment of FOSSology on Kubernetes. This will mark the completion of the core infrastructure development phase.

### Create Documentation ###

I will create detailed documentation for:
- Setting up FOSSology on Kubernetes.
- Configuration options and deployment instructions.
- Troubleshooting and operational notes.

### Stretch Goals and CI/CD ###

Stretch goals will be including:-
- A single setup script for streamlined Kubernetes deployment.
- Health check mechanisms to monitor the state of deployed services.
- Metrics endpoints to provide insights into usage and performance.