-
Notifications
You must be signed in to change notification settings - Fork 123
add: LocalFS virtual namespace support #5404
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
add: LocalFS virtual namespace support #5404
Conversation
Add optional VirtualHomeTemplate config to expose localhome paths in a virtual namespace (e.g., /home/<user>/) while storing files in the existing flat layout. When empty, preserves original behavior for EOS and other deployments. Fixes PathToSpaceID() encoding issues where localhome returned paths like '/file.txt' instead of '/home/<user>/file.txt', causing each file to be treated as its own space.
fix(localfs): handle gateway-stripped paths in virtual namespace
Also handle the webdav storage accessing pattern
moved the logic from unwrap() to normalize, to handle different requirements for Path and OpaqueId construction
Every single step will be logged
e5b1215 to
3465648
Compare
6ad0c55 to
6582ad2
Compare
|
This looks good and makes the localfs "demo" storage more usable. @MahdiBaghbani if this is ready for review please mark it as such! |
|
This is unfortunately not ready yet. I'm kind of struggling on the UI right now :-), but I'll definitely do some extra test and clean the debugs for the review. |
|
I've decided to keep a selection of debugs in the code, but overall, I've cleaned the feature branch for review |
* fix: wrong user type in AcceptInvite handler * add: changelog
|
I've also cherrypicked the two fixes into this since I need all of them to rebuild my docker image |
|
I feel like a bit of context here is necessary as well this is the config I use with this driver on my docker image: And also I have to "manually" create some directories beforehand: @glpatcern the manual part about the |
|
@MahdiBaghbani the Otherwise, for the configurations I invite you to push them to https://github.com/cs3org/reva-configs |
|
LocalFS needs to have shadow, it cannot operate without it at all. The related PRs are #4977 and #4984 My understanding is that This helps to avoid manually creating directories on dockerfiles and be locked into a static set of users. The code in this PR works with the dockerfile and configs I currently have so it is a good baseline and working example, I'll make a follow up PR for more refactors and aligning LocalFS with EOS implementation in Reva |
All right Mahdi, true that we ripped off the |
|
I just realized (during testing) that the user can create files and folder, cannot rename or delete Doesn't affect the sharing tests, but better to be fixed later |
Shouldn't this be fixed in this PR, so we can merge it without regressions? |
|
I wanted this for the STA milestone completion, it is just to fix the sharing as described in M4. |
glpatcern
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All right then, there are just a few things I'd remove, all changes on the localfs driver look OK
9fa234f to
046d615
Compare
Add optional VirtualHomeTemplate config to expose localhome paths in a virtual namespace (e.g.,
/home/user/) while storing files in the existing flat layout. When empty, preserves original behavior for EOS and other deployments.Fixes
PathToSpaceID()encoding issues where localhome returned paths like/file.txtinstead of/home/user/file.txt, causing each file to be treated as its own space.