new feature: mount-like service
- Dominant language
- Rust
- Stars
- 5.4k
- Forks
- 825
- Avg merge
- 1d 14m
- Merged PRs (30d)
- 127
Description
### Feature Description
I suggest a new service providing mountpoint-based binding to other services.
Each mount is a triple of `(path, service operator, prefix)`, declaring that access to files under `path` should be forwarded to `service operator`, with `path` in their paths replaced with `prefix`. File access should always match the mount with longest common ancestor.
For example,
- /, A, /
- /dir, B, /test
Accessing `/dir/a` should be the same as accessing `/test/a` with B, accessing `/b` should be the same as accessing `/b` with service A.
### Problem and Solution
This is because sometimes we may want to storage our data in different services, based on directories.
### Additional Context
_No response_
### Are you willing to contribute to the development of this feature?
- [ ] Yes, I am willing to contribute to the development of this feature.
Contributor guide
Research direction
The issue names no files, tests, or entry points. Start by surveying the repository's service abstractions and path-handling code, then identify where a mount service would fit. Done should include the specified longest-common-ancestor routing and path-prefix replacement, with tests covering the root and nested mount examples.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100