h6w / cloudfuse Goto Github PK
View Code? Open in Web Editor NEWThis project forked from redbo/cloudfuse
Filesystem (fuse) implemented on Mosso's Cloud Files
Home Page: http://redbo.github.com/cloudfuse/
License: MIT License
This project forked from redbo/cloudfuse
Filesystem (fuse) implemented on Mosso's Cloud Files
Home Page: http://redbo.github.com/cloudfuse/
License: MIT License
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 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: 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 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: 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]>
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.