forked from redbo/cloudfuse
-
Notifications
You must be signed in to change notification settings - Fork 4
Filesystem (fuse) implemented on Mosso's Cloud Files
License
justinsb/cloudfuse
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
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] use_openstack=[True if using OpenStack Keystone] tenant=[Tenant for authentication with Keystone] 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] EXAMPLE: A typical .cloudfuse configuration file for use with OpenStack Essex: username=demo tenant=demo api_key=supersecret authurl=http://10.10.0.1:5000/v2.0/tokens use_openstack=true 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 fixed the Makefile https://github.com/dysinger * Chris Wedgwood made du work by fixing stat https://github.com/cwedgwood * Nick Craig-Wood implemented rename https://github.com/ncw * Dillon Amburgey made it compile on clang https://github.com/dillona 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 0
No packages published
Languages
- Shell 85.5%
- C 14.5%