whatisgithub

What is nfs-crust?

s2-streamstore/nfs-crust — explained in plain English

Analysis updated 2026-05-18

8RustAudience · developerComplexity · 4/5LicenseSetup · moderate

In one sentence

A Rust library for reading and atomically writing whole files on an NFS network file server, without mounting it as a drive, aimed at write-once data.

Mindmap

mindmap
  root((nfs-crust))
    What it does
      NFS without mount
      Atomic file writes
      Read whole or partial files
    Tech stack
      Rust
      Tokio
      NFSv4.1
    Use cases
      Write-once data
      Log chunks
      AWS EFS storage
    Audience
      Rust developers
      Backend engineers
    Status
      Experimental
      Not yet in production

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Store and retrieve immutable log chunks or content-addressed data on an NFS server from a Rust application.

USE CASE 2

Atomically publish a file to a network filesystem without risking a half-written result.

USE CASE 3

Connect securely to an NFS server over TLS, including Amazon EFS with IAM authentication.

USE CASE 4

List, inspect, and clean up files on an NFS export without mounting it at the OS level.

What is it built with?

RustTokioNFSv4.1

How does it compare?

s2-streamstore/nfs-crusteternal-flame-ad/yume-pdqoop7/rquickshare-x
Stars888
LanguageRustRustRust
Last pushed2026-03-212026-05-15
MaintenanceMaintainedMaintained
Setup difficultymoderatehardeasy
Complexity4/54/52/5
Audiencedeveloperdevelopergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Experimental and not yet production-tested by its own authors, requires an accessible NFSv4.1 server to connect to.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

So what is it?

nfs-crust is a Rust library that lets programs read and write whole files on a network file server using the NFS protocol, without needing the operating system to mount that server as a drive first. NFS is a way computers share files over a network so a remote folder looks and acts like a local one. Normally using NFS means asking the operating system to set up a mount point, but this library talks to the NFS server directly from within the application instead. It is built specifically for files that get written once and then only ever read afterward, such as log pieces or content addressed data chunks, not for files that change over time. Each file also needs to fit comfortably in memory. The README is upfront that this is an experimental project: the authors do not yet use it in their own production systems, and it has not gone through a full outside review. The library offers a small set of operations rather than a full file system. You can publish a file atomically, meaning it either fully succeeds or fails without leaving a half written file behind, read a whole file or just part of it, check a file's type and size, delete a file, and list the files inside a folder one page at a time. It also includes a way to clean up leftover temporary files from writes that got interrupted partway through. Because it works over a network, some operations can fail in an ambiguous way if the connection drops at the wrong moment, and the library is explicit about surfacing that uncertainty rather than silently guessing what happened. It also supports encrypting the connection with TLS and can authenticate to Amazon's EFS cloud storage service using AWS credentials. The project is written in Rust and requires a fairly recent Rust version. It is released under the MIT license, which allows free use, modification, and sharing, including for commercial purposes, as long as the copyright notice is kept.

Copy-paste prompts

Prompt 1
Show me how to add nfs-crust to a Rust project and connect to an NFS server.
Prompt 2
Explain the difference between PutMode::Overwrite and PutMode::IfNotExists in this library.
Prompt 3
Walk me through configuring TLS and AWS EFS authentication with this library.
Prompt 4
Explain what Error::OutcomeUnknown means and how I should handle it in my application.

Frequently asked questions

What is nfs-crust?

A Rust library for reading and atomically writing whole files on an NFS network file server, without mounting it as a drive, aimed at write-once data.

What language is nfs-crust written in?

Mainly Rust. The stack also includes Rust, Tokio, NFSv4.1.

What license does nfs-crust use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is nfs-crust to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is nfs-crust for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.