Skip to content

mcary/cloudfuse

 
 

Repository files navigation

Cloudfuse is a FUSE application which provides access to Rackspace's
Cloud Files (or any installation of Swift).

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

Swift, the software behind Cloud Files, has been open-sourced as part of the
OpenStack project.

    http://swift.openstack.org/


BUILDING:

    You'll need libcurl, fuse, libssl, and libxml2 (and probably their dev
    packages) installed to build it.  From a base Debian or Ubuntu install,
    this should get you to a point you can build and run it:
        apt-get install build-essential libcurl4-openssl-dev libxml2-dev \
             libssl-dev libfuse-dev

    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:

    Your Rackspace Cloud username and API key can be placed in a file
    named $HOME/.cloudfuse:
        username=[username]
        api_key=[api key]

    Or as mount options on the command line:
        cloudfuse -o username=redbo,api_key=713aa... mountpoint/

    Or as mount options in /etc/fstab:
        cloudfuse /mnt/cloudfiles fuse username=redbo,api_key=713aa...,user 0 0

    The following options are... optional:
        use_snet=[True to use servicenet for connections]
        cache_timeout=[seconds for directory caching, default 600]
        authurl=[authentication url - connect to non-Rackspace (swift) cluster]

    It also inherits a number of command-line arguments and mount options 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 that many files in a single directory.


Thanks, and I hope you find it useful.

Michael Barton
<mike@weirdlooking.com>

About

Filesystem (fuse) implemented on Mosso's Cloud Files

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 100.0%