Distributed FUSE filesystem for small volumes (Fork of https://github.com/nicolagi/dino)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
James Mills bcf18a53fa
Fix typo
7 months ago
.chglog Add release tools 8 months ago
.dockerfiles Refactor codebase into a single binary 8 months ago
bits Fix build and update deps 8 months ago
cache Refactor codebase into a single binary 8 months ago
cmd/dinofs Fix unmounting filesystem on ^C (SIGINT) 8 months ago
data Refactor codebase into a single binary 8 months ago
fs Add stub StatFs impl 8 months ago
message message: try to avoid overflows 7 months ago
metadata Fix client connection test 7 months ago
storage Fix typo 7 months ago
tools Add release tools 8 months ago
.gitignore Add script to quickly setup a local dev cluster 7 months ago
.goreleaser.yml Fix goreleaser config (only Darwin and Linux cross-compliation is supported) 8 months ago
CHANGELOG.md Update CHANGELOG for 0.0.2 8 months ago
Dockerfile Refactor codebase into a single binary 8 months ago
LICENSE Update README and relicense 8 months ago
LICENSE.old Update README and relicense 8 months ago
Makefile Add script to quickly setup a local dev cluster 7 months ago
README.md Update README and relicense 8 months ago
README.old Update README and relicense 8 months ago
go.mod Refactor codebase into a single binary 8 months ago
go.sum Refactor codebase into a single binary 8 months ago
setup-local-cluster.sh Add script to quickly setup a local dev cluster 7 months ago
version.go Refactor codebase into a single binary 8 months ago

README.md

dinofs

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.