OpenAFS Logo
OpenAFS Workshop

Google Summer of Code Project Ideas

For information about OpenAFS's participation in the Google Summer of Code project, please see this page.

The following list represents some of our ideas and wishes for the project. However, suggesting your own idea is always encouraged. Please review the OpenAFS Gerrit and OpenAFS Contrib for projects already in progress.

Idea: afsio: Add Mount point and ACL creation support

Project Size: 12 weeks
Skill Level: Intermediate
Languages: C

Description

The OpenAFS afsio utility is a command-line client for interacting with the AFS filesystem without requiring a kernel module. This project aims to expand afsio's capabilities, enabling mount point creation within AFS volumes and manipulation of Access Control Lists (ACLs).

This enhancement would allow site administrators and developers to manage and configure OpenAFS cells using only userspace tools, simplifying deployment and administration.

This project depends on the proposed command line option to enable authenticated access with afsio (change 15322).

Skills Required

Idea: netcat for rx

Project Size: 12 weeks
Skill Level: Intermediate
Languages: C

Description

netcat (nc) is a versatile utility for reading and writing data over TCP/UDP connections. This project aims to create a similar tool specifically for Rx, the network protocol used by OpenAFS. This new tool will provide a simple and powerful way to interact with Rx-based services, enabling automated testing, debugging, and scripting, much like netcat does for TCP/UDP. Prior knowledge of OpenAFS or Rx is not required, making this a great project for learning about network protocols.

Skills Required

Idea: Rx language bindings

Project Size: 12 weeks
Skill Level: Intermediate
Languages: C

Description

This project focuses on creating low-level language bindings for Rx, the network protocol used by OpenAFS. These bindings will enable developers to interact with Rx services directly from languages like Python, facilitating the development of testing tools, higher-level utilities, and integrations with other systems.

Skills Required

Idea: Implement Command-line Completion for OpenAFS Commands

Project Size: 12 weeks
Skill Level: Intermediate
Languages: C, Shell

Description

OpenAFS provides a suite of command-line tools for managing and interacting with the distributed file system. Currently, these tools lack bash and zsh command-line completion, making them less user-friendly and efficient to use, especially for complex commands or unfamiliar users. This project aims to implement comprehensive Bash completion for the most commonly used OpenAFS commands, significantly improving the command-line experience. The preferred solution would automatically add new command line completions as new options and subcommands are added to the code base.

Skills Required