Categorygithub.com/absfs/boltfs
modulepackage
0.0.0-20230318170119-36d5bdd9c8c9
Repository: https://github.com/absfs/boltfs.git
Documentation: pkg.go.dev

# README

BoltFS - A Complete Filesystem Implementation for BoltDB

BoltFS provides a full featured filesystem on top of a boltdb database. This package implements most of the filesystem functions from the os standard library package, even including support for symbolic links.

Features

  • Compatible with the abstract filesystem interface absfs.SymlinkFileSystem
  • Support for hard and soft linking
  • Walk method like filepath.Walk
  • Extensive tests

Coming soon

  • In ram thread safe inode cache for performance
  • Improved test coverage
  • Error for error match to os package implementations
  • User provided *boltdb.DB support, with bucket isolation
  • FastWalk high performance walker (non sorted, os.FileMode only)
  • Support for storing file content externally

Also I may add a Fuse interface implementation if there is interest.

License

MIT license. See LICENSE file for more informaitn.

# Functions

NewFS creates a new FileSystem pointer in the convention of other `absfs`, implementations.
Open takes an absolute or relative path to a `boltdb` file and an optionl bucket name to store boltfs buckets.

# Structs

File implements the absfs.File interface, providing a file interace for boltdb.
FileSystem implements absfs.FileSystem for the boltdb packages `github.com/coreos/bbolt`.