dinofs

module
v0.0.0-...-7370945 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 13, 2024 License: MIT

README

dinofs

Build Status

An experimental distributed filesystem based off of nicolagi/dino

The plan is to:

  • Build a general purpose distributed filesystem with decent performance
  • Build a Docker Volume driver to support Docker Swarm and persistent volumes

You need Go and GNU Make installed to build this software.

Quick Start

Right now everything is kind of manual.

Clone the repository:

$ git clone https://git.mills.io/prologic/dinofs.git
$ cd dinofs

Build the binary:

$ make build

Run the metadata server:

$ ./dinofs meta

Run a blob server:

$ ./dinofs blob

Mount the filesystem:

$ ./dinofs mount 127.0.0.1:8000 127.0.0.1:9000 ./mnt

Play with the filesystem:

$ cd mnt
$ touch foo
$ echo 'Hello World" > foo
$ cat foo

License

dinofs is licensed under the terms of the MIT License and was originally based off of @nicolagi's work nicolagi/dino which was also licensed under the terms of the MIT License. See the old README.

Directories

Path Synopsis
cmd
dinofs
Package main implements a distributed POSIX compatible filesystem
Package main implements a distributed POSIX compatible filesystem
Package internal contains internal implementation details not publicly exposed
Package internal contains internal implementation details not publicly exposed
message
Package message implements the wire protocol between clients and servers
Package message implements the wire protocol between clients and servers
node
Package node implements the FUSE filesystem
Package node implements the FUSE filesystem

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL