Skip to content
New issue

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

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

Already on GitHub? # to your account

Add a nfs storage driver #1311

Open
stgraber opened this issue Oct 16, 2024 · 5 comments
Open

Add a nfs storage driver #1311

stgraber opened this issue Oct 16, 2024 · 5 comments
Assignees
Labels
Easy Good for new contributors Feature New feature, not a bug
Milestone

Comments

@stgraber
Copy link
Member

nfs would be a small shim storage driver on top of our dir driver that would handle mounting the NFS share as needed on all servers within the cluster.

This should be restricted to only custom volumes and only filesystem type volumes for those as storing block/loop files on top of NFS seems like a bad idea and most NFS servers aren't quite POSIX enough to properly handle full containers (locking is always a bit weird).

@stgraber stgraber added Feature New feature, not a bug Easy Good for new contributors labels Oct 16, 2024
@stgraber stgraber added this to the later milestone Oct 16, 2024
@vivekkoya
Copy link

Hello, I can try this task. Can you please direct me to the relevant directories and files? Thanks

@stgraber
Copy link
Member Author

The relevant files are in internal/server/storage/drivers/.

We did something similar to that with the lvmcluster driver which is just a tiny shim around the lvm driver.

In the case of nfs we should do something a bit more complete, so it should get its own file and own struct, but that struct should inherit from the dir struct and just override behavior where needed.

@stgraber
Copy link
Member Author

hey @vivekkoya, how are things going? Need any help?

@vivekkoya
Copy link

vivekkoya commented Oct 31, 2024

Yes, I need help. I am mainly a java programmer studying in university. I am new to Go network programming. Do you recommend any resources to learn Go?

@stgraber
Copy link
Member Author

https://go.dev/learn/ has some useful resources, especially the online sandbox that lets you play with some of the concepts at https://go.dev/tour/welcome/1.

The syntax shouldn't be much of an issue coming from Java, but the usual things to learn for Go are going to be:

  • Synchronization (Go routines, channels, locking, ...)
  • Different handling for return values (multiple variables being returned)
  • Getting familiar with the Go standard library which has a LOT of common packages, types and functions

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Easy Good for new contributors Feature New feature, not a bug
Development

No branches or pull requests

2 participants