/cloudfuse

Filesystem (fuse) implemented on Mosso's Cloud Files

Primary LanguageCMIT LicenseMIT

Cloudfuse is a FUSE application which provides access to Rackspace's Cloud Files.

Cloud Files is a remote storage system which is similar in principle to
Amazon S3.  It provides a simple RESTful interface to storing and retrieving
objects.

    http://www.rackspacecloud.com/cloud_hosting_products/files

BUILDING:

    You'll need libcurl, fuse, and libxml2 (and possibly their dev packages)
    installed to build it.  If libmagic is available at compile time, it will
    be used as a fallback when the content-type can't be guessed based on file
    extension.

    Cloudfuse is built and installed like any other autoconf configured code.
    Normally,
        ./configure
        make
        sudo make install

    But I'm no autoconf wizard, and there may be dragons lurking there.

USE:

    You'll have to put your Mosso username and API key in $HOME/.cloudfuse
        username=[username]
        api_key=[api key]

    The following settings are optional:
        use_snet=[True to use snet for connections]
        cache_timeout=[seconds for directory caching, default 600]
        mimetypes=[mime.types file, defaults to /etc/mime.types]
        authurl=[authentication url, used mostly for testing]

    To run it, the syntax should be as simple as:
        cloudfuse [mount point]

    It also inherits a number of command-line arguments from the fuse
    framework.  The "-h" argument should provide a summary.

    Your OS user will need access to the "fuse" group.  This can probably be
    accomplished with:
        sudo usermod -a -G fuse [username]

BUGS/SHORTCOMINGS:

    * Doesn't implement rename().  There's no good way to do this with the
      Cloud Files API.  Unfortunately, this makes cloudfuse considerably less
      useful in Finder, as it expects to be able to rename a lot.
    * When reading and writing files, it buffers them in a local temp file.
    * It keeps an in-memory cache of the directory structure, so it may not be
      usable for large file systems.  Also, files added by other applications
      will not show up until the cache expires.
    * The root directory can only contain directories, as these are mapped to
      containers in cloudfiles.
    * Directory entries are created as empty files with the content-type
      "application/directory".
    * Cloud Files limits container and object listings to 10,000 items.
      cloudfuse won't list more than this number of directories/files.

Thanks, and I hope you find it useful.

Michael Barton
<mike@weirdlooking.com>