gitwtfhub

wtf is nfs-crust?

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

Analysis updated 2026-05-18

8RustAudience · developerComplexity · 4/5LicenseSetup · moderate

TL;DR

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

Why would anyone build with this?

REASON 1

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

REASON 2

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

REASON 3

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

REASON 4

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

What's in the stack?

RustTokioNFSv4.1

How it stacks up

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 spin it up?

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.

Wtf does this do

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.

Yoink these 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

wtf 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.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.