|
| 1 | +--- |
| 2 | +title: Week 8 |
| 3 | +author: Muhammad Salman |
| 4 | +author_url: https://github.com/SalmanDeveloperz |
| 5 | +tags: [gsoc25, cmake, infrastructure, devops] |
| 6 | + |
| 7 | +--- |
| 8 | +<!-- |
| 9 | +SPDX-License-Identifier: CC-BY-SA-4.0 |
| 10 | +
|
| 11 | +SPDX-FileCopyright Text: 2025 Muhammad Salman <chsalmanramzan422@gmail.com> |
| 12 | +--> |
| 13 | + |
| 14 | +# Week 8 |
| 15 | + |
| 16 | +*(July 22, 2025 – July 28, 2025)* |
| 17 | + |
| 18 | +## Nailed the CMake Transition: |
| 19 | + |
| 20 | +I rebuilt all Docker images and Kubernetes pods using the new **CMake** setup. We’re now using **Debian Bookworm** in all images, and the build process is much cleaner and more maintainable. Almost everything is now running on the updated setup. |
| 21 | + |
| 22 | +## Revert to Minikube: |
| 23 | + |
| 24 | +We decided to **switch back from Kind to Minikube** due to some issues and limitations with Kind. I reverted to Minikube and set up a fresh Minikube cluster, redeployed all pods with `kubectl apply -f k8s/`, and confirmed they’re Running with `kubectl get pods`. The FOSSology UI will stable at http://192.168.49.2:30745 once all agents done and Minikube’s keeping things smooth. |
| 25 | + |
| 26 | +## Syncing with Master branch |
| 27 | + |
| 28 | +After the last mentor call, and following [Avinal](https://github.com/avinal)’s suggestions, I updated the `src/` folder to match the latest changes from the master branch. |
| 29 | + |
| 30 | +**Files Modified:** |
| 31 | +- `fossology/src/lib/c/libfossdb.c` |
| 32 | +- `fossology/src/scheduler/agent/agent.c` |
| 33 | +- `fossology/src/scheduler/agent/agent.h` |
| 34 | +- `fossology/src/scheduler/agent/database.c` |
| 35 | +- `fossology/src/scheduler/agent/host.c` |
| 36 | +- `fossology/src/scheduler/agent/host.h` |
| 37 | +- `fossology/src/scheduler/agent/scheduler.c` |
| 38 | + |
| 39 | +After syncing, I rebuilt all images to make sure everything was working properly. |
| 40 | + |
| 41 | +## Writing Docker and Kubernetes Files for Missing Agents |
| 42 | + |
| 43 | +While reviewing `CMakeLists.txt`, We noticed several agents were listed but didn’t have Dockerfiles or Kubernetes configs. These were added back in 2021, but the infrastructure files were missing. So I started writing those for the following to take start: |
| 44 | + |
| 45 | +- `cyclonedx` |
| 46 | +- `deagent` |
| 47 | +- `readmeoss` |
| 48 | +- `scanoss` |
| 49 | + |
| 50 | +## Scheduler Pod Issue: |
| 51 | + |
| 52 | +Right now, We're mainly focusing on the **scheduler pod**, which has a complex setup due to its connection with the database and most of the agents are dependent on it. We're working to resolve the issues we’re seeing there. |
| 53 | + |
| 54 | +## Meeting 1: |
| 55 | + |
| 56 | +*(July 23, 2025)* |
| 57 | + |
| 58 | +In my weekly call with [Avinal](https://github.com/avinal), We discuss about: |
| 59 | + |
| 60 | +- Rebuilding images using CMake |
| 61 | +- Updating the `src/` folder with the latest master |
| 62 | +- Problems with Kind, and switching back to Minikube |
| 63 | +- Issues with the scheduler pod |
| 64 | + |
| 65 | +He suggested writing missing Docker and Kubernetes files for the agents mentioned in `CMakeLists.txt`. |
| 66 | + |
| 67 | +## Meeting 2: |
| 68 | + |
| 69 | +*(July 24, 2025)* |
| 70 | + |
| 71 | +In the community call, I gave a demo of my progress so far. I explained: |
| 72 | + |
| 73 | +- How I moved everything to CMake |
| 74 | +- Dockerfiles and Kubernetes files for missing agents |
| 75 | +- Image I build and syncing with master |
| 76 | +- Current scheduler pod issues |
| 77 | + |
| 78 | +## What’s Next for Week 9 |
| 79 | + |
| 80 | +- Finish writing Docker and Kubernetes files for the remaining agents |
| 81 | +- Fix the scheduler pod’s database connectivity |
| 82 | +- Connect with mentors for planning final phase of work |
| 83 | + |
0 commit comments