ferro-fuse

FUSE3 filesystem mount for Ferro. Translates POSIX file operations into WebDAV HTTP requests, letting you access a remote Ferro server as a local directory on Linux.

Key Types

TypeDescription
FUSEMountMain FUSE filesystem implementation

Features

  • Read, write, create, and delete files via WebDAV
  • Directory creation (mkdir), removal (rmdir), and listing (readdir)
  • Rename and copy operations
  • In-memory file cache (10 MB, 10,000 entries) for read performance
  • Token-based authentication via FERRO_TOKEN environment variable
  • allow-root mount option for privileged access
  • Automatic directory creation for mount point

Installation

cargo install ferro-fuse

CLI Options

OptionEnvDefaultDescription
--server-urlFERRO_URLhttp://localhost:8080Ferro server URL
--mountFERRO_MOUNT(required)Local mount point path
--tokenFERRO_TOKEN(none)Bearer token for authentication
--allow-root--falseAllow root user to access the mount
--no-foreground--true (foreground)Run in the background

Minimal Usage

Mount a server

ferro-fuse --server-url https://ferro.example.com --mount /mnt/ferro --token YOUR_TOKEN

With environment variables

export FERRO_URL=https://ferro.example.com
export FERRO_MOUNT=/mnt/ferro
export FERRO_TOKEN=YOUR_TOKEN
ferro-fuse

Unmount

fusermount -u /mnt/ferro

Or press Ctrl+C when running in the foreground.

Supported Operations

OperationDescription
readRead file contents
writeCreate or overwrite files
mkdirCreate directories
rmdirRemove empty directories
unlinkDelete files
renameMove or rename files and directories
readdirList directory contents
getattr / statRetrieve file metadata
open / releaseOpen and close file handles

Platform Support

This crate targets Linux only via the fuse3 crate. Building on non-Linux platforms compiles but the binary exits with an error at startup.

See Also