GSoC 2023 topics - cockpit-project/cockpit GitHub Wiki
Cockpit is a free and open-source front-end tool that provides administrative access to Linux systems.
Here are some ideas for the GSoC program in 2023.
"Cockpit navigator" is a featureful File System Browser for Cockpit - remotely browse, manage, edit, upload, and download files on your server through your web browser.
The project is about modernizing this plugin by following some new designs and rewrite the codebase it to follow the standards specified by https://github.com/cockpit-project/starter-kit/. This involves porting to React, add tests and much more.
A more detailed description of the expectation can be found here.
Size: Big size
Difficulty: Hard
This project is about extending the network page to include support for VPN. It could include WireGuard and/or OpenVPN.
Related discussion: https://github.com/cockpit-project/cockpit/issues/16992
Existing WIP: https://github.com/gil-obradors/cockpit/tree/VPNSupport
Size: Big size
Difficulty : Hard
“Cockpit Machines,” is a plugin which interacts with libvirtd and lets users create and manage Virtual Machines. It currently only supports QEMU/KVM hypervisor driver. Libvirt itself has support for other hypervisor drivers, including VirtualBox.
This project is about extending cockpit-machines codebase to include support for VirtualBox driver.
Read more to get some idea of the tasks for this project:
- Eliminate hard-coded APIs and parameterize the hypervisor selection while keeping hardcoded Dbus paths, virsh connections APIs etc separately
[kkoukiou@sequioa cockpit-machines]$ git grep -e '/org/libvirt/QEMU' -e 'qemu:///' | wc -l
79
-
Use Patternfly to introduce in the UI a driver selection component and let the user switch between hypervisors
-
Identify which APIs are supported by libvirt for each hypervisor and hide the unsupported operations from the UI
It's desired approach to start conservatively by introducing a minimal set of features for the new driver and incrementally enable features while extending the test suite.
Technologies used: Javascript, React, python Knowledge of virtualization technologies is a plus
Related discussion: https://github.com/cockpit-project/cockpit/issues/11711
Size: Medium size
Difficulty: Hard
We want to provide users with an easy way to review the use of their server's storage space. This new plugin should be able to:
- Scan a folder, including all subfolders
- Show percentage based disk usage similarly to Gnome's disk usage analyzer
- Delete a file or folder for the purpose of cleaning up space
- Once this plugin identifies that a storage is full it should send a notification to the Cockpit's main navigation panel which will warn users about low disk space, when they use Cockpit but not the specific page
Technologies used: Javascript, React, python
Related discussion: https://github.com/cockpit-project/cockpit/issues/14083, https://github.com/cockpit-project/cockpit/issues/8787
Size: Big size
Difficulty: Hard
https://github.com/cockpit-project/cockpit/wiki/Contributing
A linux development environment is a must for GSoC candidate students
The members of the cockpit team are during working hours (~8:00 - 16:00 UTC) available for answering questions at #cockpit channel on matrix fedora chat.