mogstored_rack.git  about / heads / tags
Rack endpoint for MogileFS storage nodes
$ git log --pretty=format:'%h %s (%cs)%d'
94a6425 README: add pointer to cmogstored (2013-02-19)
	(HEAD -> master)
0ec3029 doc: nodoc internal method :< (2011-12-01)
00f27d0 unlink failed FID on MD5 failure (2011-12-01)
	(tag: v1.0.0)
11fd696 PUT is no longer atomic, remove temporary file use (2011-12-01)
3854477 ensure temporary files are deleted on all failures (2011-12-01)
df542d8 documentation updates (2011-12-01)
da5cbf7 support partial PUT via Content-Range in request (2011-12-01)
668d67c initial import (2011-12-01)

$ git cat-file blob HEAD:README
= mogstored_rack - Rack endpoint for MogileFS storage nodes

This project is no longer actively maintained.  cmogstored is better
in every way: http://bogomips.org/cmogstored/README

mogstored_rack implements a minimal subset of WebDAV needed to support a
MogileFS storage nodes in a POSIX-like environment.  It is implemented
entirely in Ruby and has no dependencies other than Rack.  The original
(Perl) mogstored is still required for generating /usage files and
iostat(1) watcher support.

* It can verify the contents of PUT request based on Content-MD5 headers
  (and trailers, if the Rack server supports trailers) and reject
  corrupted uploads.

* partial PUT support (via Content-Range) for compatibility with the
  "largefile" option in the Perl MogileFS::Client library.

* optional fsync(2), O_SYNC (and O_DIRECT :P) support

* configurable I/O write size to match your hardware/filesystem

* Use any Rack HTTP server you want, but Rainbows! is recommended
  as it supports chunked uploads and HTTP trailers.
  The heavily-commented example Rainbows! config
  {example}[link:examples/rainbows.conf.rb] is a good starting point.

== Hacking

You can get the latest source via git from the following locations:

  git://bogomips.org/mogstored_rack.git

You may browse the code from the web and download the latest snapshot
tarballs here:

* http://bogomips.org/mogstored_rack.git (cgit)

Inline patches (from "git format-patch") to Eric are preferred because they
allow code review and comments in the reply to the patch.

We will adhere to mostly the same conventions for patch submissions as
git itself.  See the Documentation/SubmittingPatches document
distributed with git on on patch submission guidelines to follow.  Just
don't email the git mailing list or maintainer with mogstored_rack
patches.

== Contact

All feedback (bug reports, user/development discussion, patches, pull
requests) go to {Eric Wong}[mailto:normalperson@yhbt.net]

# heads (aka `branches'):
$ git for-each-ref --sort=-creatordate refs/heads \
	--format='%(HEAD) %(refname:short) %(subject) (%(creatordate:short))'
* master       README: add pointer to cmogstored (2013-02-19)

# tags:
$ git for-each-ref --sort=-creatordate refs/tags \
	--format='%(refname:short) %(subject) (%(creatordate:short))'
v1.0.0       mogstored_rack 1.0.0 (2011-12-01) tar.gz

git clone https://yhbt.net/mogstored_rack.git