Cloudfuse

Filesystem (fuse) implemented on Mosso's Cloud Files
Alternatives To Cloudfuse
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Passenger4,9372,791252 days ago185September 19, 2022217mitC++
A fast and robust web server and application server for Ruby, Python and Node.js
Cryfs1,792
3 days ago122lgpl-3.0C++
Cryptographic filesystem for the cloud
Utahfs801
3 months ago5June 16, 202014bsd-3-clauseGo
UtahFS is an encrypted storage system that provides a user-friendly FUSE drive backed by cloud storage.
Zero791
4 years ago4otherPython
Local file system transparently swapping to the cloud
Securefs633
5 months ago1February 27, 201814otherC++
Filesystem in userspace (FUSE) with transparent authenticated encryption
Cloudfuse396
6 years ago54mitC
Filesystem (fuse) implemented on Mosso's Cloud Files
Megafuse219
4 years ago72otherC++
MEGA client for linux, based on FUSE
Acd_fuse190
7 years ago22otherPython
FUSE filesystem driver for Amazon Cloud Drive
Spreadsheetfs126
3 years ago1mitPython
Use Google Sheets as a Filesystem to get Unlimited Free Cloud Storage
Stormfs95
9 years ago6gpl-2.0C
A FUSE abstraction layer for cloud storage (Amazon S3, Google Cloud Storage and more)
Alternatives To Cloudfuse
Select To Compare


Alternative Project Comparisons
Readme

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.rackspace.com/cloud/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 libjson-c-dev

For CentOS or similar,
    yum install gcc make fuse-devel curl-devel libxml2-devel openssl-devel

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 need to install fuse to use this application. It may have already
been installed as a dependency if you followed the "BUILDING" instructions
above.

On Debian:
   apt-get install fuse
   
On CentOS or similar:
   yum install fuse

The following settings can be defined in the file ~/.cloudfuse:
    username=[Account username for authentication, required]
    api_key=[API key for authentication with Rackspace]
    tenant=[Tenant name for authentication with Openstack]
    password=[Authentication password with Openstack]
    authurl=[Authentication url, defaults to Rackspace's cloud]
    region=[Regional endpoint to use]
    use_snet=[True to use Rackspace ServiceNet for connections]
    cache_timeout=[Seconds for directory caching, default 600]
    verify_ssl=[False to disable SSL cert verification]

For authenticating with Rackspace's cloud, at minimum "username" and
"api_key" must be set.

For authenticating with Keystone, "username", "password", "tenant", and
"authurl" should probably be defined.

These settings can also be specified 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

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

EXAMPLE:

A typical ~/.cloudfuse configuration file for use with Rackspace:
    username=demo
    api_key=643afce8b5187d40ba15e4827384fc5b
    
    # if no region is selected, it will use your default region.
    #   region=DFW
    
    # if connecting within a Rackspace datacenter, ServiceNet can be
    # used to avoid bandwidth charges.
    #   use_snet=true

A typical ~/.cloudfuse configuration file for use with OpenStack,
noting that "tenant" should be the tenant name, rather than the ID:
    username=demo
    tenant=demo
    password=supersecret
    authurl=http://10.10.0.1:5000/v2.0

DEBUGGING: Cloudfuse may demonstrate the following symptoms: - console locks up for minutes - error message "Link has been severed"

You can debug these situations in two ways:
    (1) Look at /var/log/syslog or /var/log/messages on your swift server
    (2) Use the -d, -f, or debug flag in your cloudfuse config and watch
        the logs or console for errors.
    
Frequently, these are network or certificate errors.  Swift may not log 
certificate failures, so the debug switch is important if you're using
cloudfuse for the first time, particularly in a non-Rackspace environment.

e.g. * Peer certificate cannot be authenticated with given CA certificates
     * About to connect() to 192.168.0.2 port 8080 (#0)
     *   Trying 192.168.0.2... * connected
     * successfully set certificate verify locations:
     *   CAfile: none
       CApath: /etc/ssl/certs
     * SSL certificate problem, verify that the CA cert is OK. Details:
     error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
     * Closing connection #0

BUGS/SHORTCOMINGS:

* rename() doesn't work on directories (and probably never will).
* 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.

AWESOME CONTRIBUTORS:

* Tim Dysinger                                 https://github.com/dysinger
* Chris Wedgwood                               https://github.com/cwedgwood
* Nick Craig-Wood                              https://github.com/ncw
* Dillon Amburgey                              https://github.com/dillona
* Manfred Touron                               https://github.com/moul
* David Brownlee                               https://github.com/abs0
* Mike Lundy                                   https://github.com/novas0x2a
* justinb                                      https://github.com/justinsb

Thanks, and I hope you find it useful.

Michael Barton [email protected]

Popular Cloud Computing Projects
Popular Fuse Projects
Popular Cloud Computing Categories

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
C
Swift
Cloud
Filesystem
Fuse