Bold is a v4-series NFS server written in async Rust based on Tokio.
MIT License
This is Bold. A version 4-series compatible NFS server written in async Rust based on Tokio.
NFS is the most widely used network file system for production server workloads.
(This is a Bold claim)
Bold's design goals are:
Anti goals include complicated compile-time computations, such as macro or type trickery.
There is a binary bold-mem
(in /exec), which reads in a
YAML file and serves this as in-memory file system.
On Linux:
# bold-mem/memoryfs.yaml
name:
contents:
- !Dir
name: home
contents:
- !Dir
name: user
contents:
- !File
name: file1
contents: |
This is the content of file1
- !File
name: file2
contents: |
This is the content of file2
You can compile and run it from the repo:
cargo run -p bold-mem -- --debug exec/memoryfs.yam
(optionally, you can enable the --debug
flag)
Open another terminal
mkdir /tmp/demo
sudo mount.nfs4 -n -v -o fg,soft,sec=none,vers=4.0,port=11112 127.0.0.1:/ /tmp/demo
ls /tmp/demo/
, cat /tmp/demo/home/user/file1
(have a look around in your mounted file system)
Copy files from your local computer into the mounted file system and retrive it back
Don't forget to unmount sudo umount /tmp/demo
, before stopping bold-mem
Distributed under the MIT license. See LICENSE
for more information.