Browse files

new more helpful README

Change-Id: Ie5e88178e061955aea8759e5451a2d33ccc76511
  • Loading branch information...
notmyname committed Sep 13, 2012
1 parent 343968b commit bfc114bc1de89c996d07961eaa39794053238480
Showing with 83 additions and 17 deletions.
  1. +0 −17 README
  2. +83 −0
@@ -1,17 +0,0 @@
-A distributed object store that was originally developed as the basis for
-Rackspace's Cloud Files.
-To build documentation run `python build_sphinx`, and then browse to
-The best place to get started is the "SAIO - Swift All In One", which will walk
-you through setting up a development cluster of Swift in a VM.
-For more information, visit us at, or come hang out
-on our IRC channel, #openstack on freenode.
-Swift Development Team
@@ -0,0 +1,83 @@
+# Swift
+A distributed object storage system designed to scale from a single machine
+to thousands of servers. Swift is optimized for multi-tenancy and high
+concurrency. Swift is ideal for backups, web and mobile content, and any other
+unstructured data that can grow without bound.
+Swift provides a simple, REST-based API fully documented at
+Swift was originally developed as the basis for Rackspace's Cloud Files and
+was open-sourced in 2010 as part of the OpenStack project. It has since grown
+to include contributions from many companies and has spawned a thriving
+ecosystem of 3rd party tools. Swift's contributors are listed in the AUTHORS
+## Docs
+To build documentation install sphinx (`pip install sphinx`), run
+`python build_sphinx`, and then browse to /doc/build/html/index.html.
+These docs are auto-generated after every commit and available online at
+## For Developers
+The best place to get started is the ["SAIO - Swift All In One"](
+This document will walk you through setting up a development cluster of Swift
+in a VM. The SAIO environment is ideal for running small-scale tests against
+swift and trying out new features and bug fixes.
+You can run unit tests with `.unittests` and functional tests with
+### Code Organization
+ * bin/: Executable scripts that are the processes run by the deployer
+ * doc/: Documentation
+ * etc/: Sample config files
+ * swift/: Core code
+ * account/: account server
+ * common/: code shared by different modules
+ * middleware/: "standard", officially-supported middleware
+ * ring/: code implementing Swift's ring
+ * container/: container server
+ * obj/: object server
+ * proxy/: proxy server
+ * test/: Unit and functional tests
+### Data Flow
+Swift is a WSGI application and uses eventlet's WSGI server. After the
+processes are running, the entry point for new requests is the `Application`
+class in `swift/proxy/`. From there, a controller is chosen, and the
+request is processed. The proxy may choose to forward the request to a back-
+end server. For example, the entry point for requests to the object server is
+the `ObjectController` class in `swift/obj/`.
+## For Deployers
+Deployer docs are also available at
+ A good starting point is at
+You can run functional tests against a swift cluster with `.functests`. These
+functional tests require `/etc/swift/test.conf` to run. A sample config file
+can be found in this source tree in `test/sample.conf`.
+## For Client Apps
+For client applications, official Python language bindings are provided at
+Complete API documentation at
+For more information come hang out in #openstack-swift on freenode.
+The Swift Development Team

0 comments on commit bfc114b

Please sign in to comment.