Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chiyutianyi/grpcfuse
Remote filesystem based on grpc and fuse. The server and client were implemented with pure go. Grpcfuse consists of two parts: GRPC Server GRPC Client They all follow github.com/hanwen/go-fuse/fuse#RawFileSystem, so you can choose from multiple server-side implementations (e.g. pathfs#FileSystem, nodefs#Node or sugguested fs )and convert to RawFileSystem.
https://github.com/chiyutianyi/grpcfuse
fuse go grpc
Last synced: 2 months ago
JSON representation
Remote filesystem based on grpc and fuse. The server and client were implemented with pure go. Grpcfuse consists of two parts: GRPC Server GRPC Client They all follow github.com/hanwen/go-fuse/fuse#RawFileSystem, so you can choose from multiple server-side implementations (e.g. pathfs#FileSystem, nodefs#Node or sugguested fs )and convert to RawFileSystem.
- Host: GitHub
- URL: https://github.com/chiyutianyi/grpcfuse
- Owner: chiyutianyi
- License: apache-2.0
- Created: 2022-04-02T08:28:22.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2022-06-19T12:03:58.000Z (over 2 years ago)
- Last Synced: 2024-08-03T23:29:21.025Z (6 months ago)
- Topics: fuse, go, grpc
- Language: Go
- Homepage:
- Size: 193 KB
- Stars: 15
- Watchers: 2
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-golang-repositories - grpcfuse - fuse/fuse#RawFileSystem, so you can choose from multiple server-side implementations (e.g. pathfs#FileSystem, nodefs#Node or sugguested fs )and convert to RawFileSystem. (Repositories)
README
# Grpcfuse
[![CI](https://github.com/chiyutianyi/grpcfuse/actions/workflows/ci.yml/badge.svg)](https://github.com/chiyutianyi/grpcfuse/actions/workflows/ci.yml)
Remote filesystem based on grpc and fuse. The server and client were implemented with pure go.
Grpcfuse consists of two parts:
1. GRPC Server
2. GRPC ClientThey all follow [github.com/hanwen/go-fuse/fuse#RawFileSystem](https://pkg.go.dev/github.com/hanwen/go-fuse/fuse#RawFileSystem), so you can choose from multiple server-side implementations (e.g. [pathfs#FileSystem](https://pkg.go.dev/github.com/hanwen/go-fuse/fuse/pathfs#FileSystem), [nodefs#Node](https://pkg.go.dev/github.com/hanwen/go-fuse/fuse/nodefs#Node) or sugguested [fs](https://pkg.go.dev/github.com/hanwen/go-fuse/v2/fs) )and convert to RawFileSystem.
## Examples
- `example/client/client.go` contains a grpc client filesystem. A binary to run is in example/loopback/. For example
```
example/client/client /tmp/mountpoint 127.0.0.1:8760
```
- `example/loopback/server.go` contains a grpc server which mounts another piece of the filesystem. Functionally, it is similar to a symlink. A binary to run is in example/loopback/ . For example
```
example/loopback/loopback /some/other/directory
```## Bugs
Yes, probably. Report them through
https://github.com/chiyutianyi/grpcfuse/issues## Disclaimer
This is not an official Alibaba product.
## License
This library is distributed under Apache License 2.0, see [LICENSE](LICENSE)