dinofs

package module
v0.0.0-...-be3b37f Latest Latest
Warning

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

Go to latest
Published: Sep 3, 2023 License: MIT Imports: 3 Imported by: 0

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.

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// Version release version
	Version = "0.0.0"

	// Commit will be overwritten automatically by the build system
	Commit = "HEAD"
)

Functions

func FullVersion

func FullVersion() string

FullVersion display the full version and build

Types

This section is empty.

Directories

Path Synopsis
Package bits contains functions to convert strings and unsigned ints of various widths to/from byte slices in an platform-independent way.
Package bits contains functions to convert strings and unsigned ints of various widths to/from byte slices in an platform-independent way.
cmd
Package fs implements the FUSE filesystem
Package fs implements the FUSE filesystem
Package message defines the messages used to implement the metadata server and client, and the message serialization and deserialization code.
Package message defines the messages used to implement the metadata server and client, and the message serialization and deserialization code.
metadata
client
Package client contains a low level client to the metadata server.
Package client contains a low level client to the metadata server.
server
Package server implements a metadata server, whose job is exposing a storage.VersionedStore via a TCP connection.
Package server implements a metadata server, whose job is exposing a storage.VersionedStore via a TCP connection.

Jump to

Keyboard shortcuts

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