Skip to content
This repository

A FUSE abstraction layer for cloud storage (Amazon S3, Google Cloud Storage and more)

branch: master
README

   _______________  ____  __  ______________
  / ___/_  __/ __ \/ __ \/  |/  / ____/ ___/
  \__ \ / / / / / / /_/ / /|_/ / /_   \__ \ 
 ___/ // / / /_/ / _, _/ /  / / __/  ___/ / 
/____//_/  \____/_/ |_/_/  /_/_/    /____/  


A FUSE abstraction layer for cloud storage.


Installation Requirements:
=============================================================================
  - libfuse      ([sudo] apt-get install libfuse-dev libfuse2 fuse-utils)
  - libcurl      ([sudo] apt-get install libcurl4-gnutls-dev
                                               * OR * 
                                         libcurl4-openssl-dev
  - glib2        ([sudo] apt-get install libglib2.0-dev)
  - autotools    ([sudo] apt-get install automake)
  - mime-support ([sudo] apt-get install mime-support)


Build:
=============================================================================
  ./autogen.sh
  ./configure
  make
  [make install]


Configuration:
=============================================================================
See the supplied stormfs.conf.example for a basic configuration file


Usage: (see --help for a full list of options)
=============================================================================
stormfs bucket mountpoint [options]

general options:
    -o opt,[opt...]         mount options
    -h   --help             print help
    -V   --version          print version

STORMFS options:
    -o config=CONFIG        path to configuration file
                              (default: /etc/stormfs.conf)
    -o url=URL              specify a custom service URL
    -o acl=ACL              canned acl applied to objects (default: private)
                            valid options: {private,
                                            public-read,
                                            public-read-write,
                                            authenticated-read,
                                            bucket-owner-read,
                                            bucket-owner-full-control}
    -o expires=RFC1123DATE  expires HTTP header applied to objects
                              e.g.: Thu\\,\ 08\ Apr\ 2012\ 20:00:00\ GMT
                              (default: disabled)
    -o use_ssl              force the use of SSL
    -o no_verify_ssl        skip SSL certificate/host verification
    -o use_rrs              use reduced redundancy storage
    -o encryption           enable server-side encryption
    -o mime_path=PATH       path to mime.types (default: /etc/mime.types)
    -o cache_path=PATH      path for cached file storage (default: /tmp/stormfs)
    -o cache_timeout=N      sets the cache timeout in seconds (default: 300)
    -o nocache              disable the cache (cache is enabled by default)


Supported APIs
=============================================================================
Amazon Simple Storage Service (Amazon S3)
Eucalyptus (Walrus S3)
Google Cloud Storage[1]

Support is planned for the following services:
  Dropbox
  Rackspace Cloud Files
  Google Cloud Storage (native API)

[1] You must enable "Interoperable Access" and use the provided
      "Legacy Storage Access Keys"

Testing
=============================================================================
STORMfs strives to be fully POSIX compliant, the folks at Tuxera have created
an extensive test suit available at:
    http://www.tuxera.com/community/posix-test-suite/

Once compiled, you can run the tests like so:
  $ cd /path/to/mounted/bucked/testdir
  $ prove -r /path/to/fstest


BUGS
=============================================================================
Bugs can be reported at https://github.com/benlemasurier/stormfs/issues

Please be sure to check whether your bug has already been submitted. If it
hasn't, try to provide as much information as necessary to reproduce the bug.
Something went wrong with that request. Please try again.