You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by to...@apache.org on 2011/03/22 17:32:16 UTC

svn commit: r1084239 - in /incubator/libcloud/site/trunk: ./ branches/ cgi-bin/ content/ content/libcloud/ content/libcloud/exports/ lib/ templates/ templates/blocks/

Author: tomaz
Date: Tue Mar 22 16:32:15 2011
New Revision: 1084239

URL: http://svn.apache.org/viewvc?rev=1084239&view=rev
Log:
Start porting libcloud website to apache CMS (w.i.p.)

Added:
    incubator/libcloud/site/trunk/
    incubator/libcloud/site/trunk/branches/
    incubator/libcloud/site/trunk/cgi-bin/
    incubator/libcloud/site/trunk/content/
    incubator/libcloud/site/trunk/content/libcloud/
    incubator/libcloud/site/trunk/content/libcloud/about.mdtext
    incubator/libcloud/site/trunk/content/libcloud/devinfo.mdtext
    incubator/libcloud/site/trunk/content/libcloud/downloads.mdtext
    incubator/libcloud/site/trunk/content/libcloud/driver-features.mdtext
    incubator/libcloud/site/trunk/content/libcloud/exports/
    incubator/libcloud/site/trunk/content/libcloud/exports/compute-providers-matrix.xml
    incubator/libcloud/site/trunk/content/libcloud/exports/compute-providers-matrix.xsl
    incubator/libcloud/site/trunk/content/libcloud/getting-started.mdtext
    incubator/libcloud/site/trunk/content/libcloud/releases.xml
    incubator/libcloud/site/trunk/lib/
    incubator/libcloud/site/trunk/lib/path.pm
    incubator/libcloud/site/trunk/lib/view.pm
    incubator/libcloud/site/trunk/templates/
    incubator/libcloud/site/trunk/templates/basic.html
    incubator/libcloud/site/trunk/templates/blocks/
    incubator/libcloud/site/trunk/templates/blocks/analytics.html
    incubator/libcloud/site/trunk/templates/blocks/menu.html
    incubator/libcloud/site/trunk/templates/blocks/other.html
    incubator/libcloud/site/trunk/templates/blocks/quotes.html
    incubator/libcloud/site/trunk/templates/blocks/sidebar.html
    incubator/libcloud/site/trunk/templates/index.html

Added: incubator/libcloud/site/trunk/content/libcloud/about.mdtext
URL: http://svn.apache.org/viewvc/incubator/libcloud/site/trunk/content/libcloud/about.mdtext?rev=1084239&view=auto
==============================================================================
--- incubator/libcloud/site/trunk/content/libcloud/about.mdtext (added)
+++ incubator/libcloud/site/trunk/content/libcloud/about.mdtext Tue Mar 22 16:32:15 2011
@@ -0,0 +1,9 @@
+title: About
+
+## About ##
+
+libcloud is a client library for interacting with many of the popular cloud server providers. It was created to make it easy for developers to build products that work between any of the services that it supports.
+
+libcloud was originally created by the folks over at [Cloudkick](https://www.cloudkick.com), but has since grown into an independent free software project licensed under the Apache License (2.0).
+
+The libcloud team can be contacted at [libcloud@incubator.apache.org](mailto:libcloud@incubator.apache.org).

Added: incubator/libcloud/site/trunk/content/libcloud/devinfo.mdtext
URL: http://svn.apache.org/viewvc/incubator/libcloud/site/trunk/content/libcloud/devinfo.mdtext?rev=1084239&view=auto
==============================================================================
--- incubator/libcloud/site/trunk/content/libcloud/devinfo.mdtext (added)
+++ incubator/libcloud/site/trunk/content/libcloud/devinfo.mdtext Tue Mar 22 16:32:15 2011
@@ -0,0 +1,33 @@
+title: Developer Information
+
+## API Documentation ##
+Generated [API documentation](http://ci.apache.org/projects/libcloud/apidocs/) is available (API docs are generated for the latest trunk version of libcloud).
+
+## Mailing lists ##
+
+* [libcloud@incubator.apache.org](mailto:libcloud-subscribe@incubator.apache.org) - [archives](http://mail-archives.apache.org/mod_mbox/incubator-libcloud/) - Main mailing list.
+* [libcloud-commits@incubator.apache.org ](mailto:libcloud-commits-subscribe@incubator.apache.org) - [archives](http://mail-archives.apache.org/mod_mbox/incubator-libcloud-commits/) - SVN Commits mailing list.
+
+## Issue Tracker ##
+
+* Apache JIRA: [https://issues.apache.org/jira/browse/LIBCLOUD](https://issues.apache.org/jira/browse/LIBCLOUD) (preferred)
+
+## SVN Repository ##
+
+* Repository: [https://svn.apache.org/repos/asf/incubator/libcloud/trunk/](https://svn.apache.org/repos/asf/incubator/libcloud/trunk/)
+* ViewVC: [https://svn.apache.org/viewvc/incubator/libcloud/trunk/](https://svn.apache.org/viewvc/incubator/libcloud/trunk/)
+* Java Repository: [https://svn.apache.org/repos/asf/incubator/libcloud/sandbox/java/trunk/](https://svn.apache.org/repos/asf/incubator/libcloud/sandbox/java/trunk/)
+
+## Git Repositories ##
+
+* [git://git.apache.org/libcloud.git](git://git.apache.org/libcloud.git)
+* [https://github.com/apache/libcloud](https://github.com/apache/libcloud) (mirror - please use mailing list to submit patches and JIRA to open a new issue)
+
+## IRC ##
+* [#libcloud](http://webchat.freenode.net?channels=libcloud&uio=d4) on Freenode
+
+
+## Twitter ##
+
+* @libcloud: [http://twitter.com/libcloud](http://twitter.com/libcloud)
+

Added: incubator/libcloud/site/trunk/content/libcloud/downloads.mdtext
URL: http://svn.apache.org/viewvc/incubator/libcloud/site/trunk/content/libcloud/downloads.mdtext?rev=1084239&view=auto
==============================================================================
--- incubator/libcloud/site/trunk/content/libcloud/downloads.mdtext (added)
+++ incubator/libcloud/site/trunk/content/libcloud/downloads.mdtext Tue Mar 22 16:32:15 2011
@@ -0,0 +1,82 @@
+title: Downloads
+
+## Downloads ##
+
+<ul>
+        <li>0.4.2 - Released January 17, 2011:
+          <ul>
+            <li><a href="http://www.apache.org/dyn/closer.cgi?path=/incubator/libcloud/apache-libcloud-incubating-0.4.2.tar.bz2">apache-libcloud-incubating-0.4.2.tar.bz2</a>
+                [<a href="http://www.apache.org/dist/incubator/libcloud/apache-libcloud-incubating-0.4.2.tar.bz2.asc">asc</a>]
+                [<a href="http://www.apache.org/dist/incubator/libcloud/apache-libcloud-incubating-0.4.2.tar.bz2.sha1">sha1</a>]
+                [<a href="http://www.apache.org/dist/incubator/libcloud/apache-libcloud-incubating-0.4.2.tar.bz2.md5">md5</a>]
+                </li>
+            <li><a href="http://www.apache.org/dyn/closer.cgi?path=/incubator/libcloud/apache-libcloud-incubating-0.4.2.zip">apache-libcloud-incubating-0.4.2.zip</a>
+                [<a href="http://www.apache.org/dist/incubator/libcloud/apache-libcloud-incubating-0.4.2.zip.asc">asc</a>]
+                [<a href="http://www.apache.org/dist/incubator/libcloud/apache-libcloud-incubating-0.4.2.zip.sha1">sha1</a>]
+                [<a href="http://www.apache.org/dist/incubator/libcloud/apache-libcloud-incubating-0.4.2.zip.md5">md5</a>]
+                </li>
+              <li>Verify with these public <a href="https://www.apache.org/dist/incubator/libcloud/KEYS">KEYS</a> used by Apache Libcloud developers.</li>
+          </ul>
+        </li>
+        <li>0.4.0 - Released October 12, 2010:
+          <ul>
+            <li><a href="http://www.apache.org/dyn/closer.cgi?path=/incubator/libcloud/apache-libcloud-incubating-0.4.0.tar.bz2">apache-libcloud-incubating-0.4.0.tar.bz2</a>
+                [<a href="http://www.apache.org/dist/incubator/libcloud/apache-libcloud-incubating-0.4.0.tar.bz2.asc">asc</a>]
+                [<a href="http://www.apache.org/dist/incubator/libcloud/apache-libcloud-incubating-0.4.0.tar.bz2.sha1">sha1</a>]
+                [<a href="http://www.apache.org/dist/incubator/libcloud/apache-libcloud-incubating-0.4.0.tar.bz2.md5">md5</a>]
+                </li>
+            <li><a href="http://www.apache.org/dyn/closer.cgi?path=/incubator/libcloud/apache-libcloud-incubating-0.4.0.zip">apache-libcloud-incubating-0.4.0.zip</a>
+                [<a href="http://www.apache.org/dist/incubator/libcloud/apache-libcloud-incubating-0.4.0.zip.asc">asc</a>]
+                [<a href="http://www.apache.org/dist/incubator/libcloud/apache-libcloud-incubating-0.4.0.zip.sha1">sha1</a>]
+                [<a href="http://www.apache.org/dist/incubator/libcloud/apache-libcloud-incubating-0.4.0.zip.md5">md5</a>]
+                </li>
+              <li>Verify with these public <a href="https://www.apache.org/dist/incubator/libcloud/KEYS">KEYS</a> used by Apache Libcloud developers.</li>
+          </ul>
+        </li>
+        <li>0.3.1 - Released May 10, 2010:
+          <ul>
+            <li><a href="http://www.apache.org/dyn/closer.cgi?path=/incubator/libcloud/apache-libcloud-incubating-0.3.1.tar.bz2">apache-libcloud-incubating-0.3.1.tar.bz2</a>
+                [<a href="http://www.apache.org/dist/incubator/libcloud/apache-libcloud-incubating-0.3.1.tar.bz2.asc">asc</a>]
+                [<a href="http://www.apache.org/dist/incubator/libcloud/apache-libcloud-incubating-0.3.1.tar.bz2.sha1">sha1</a>]
+                [<a href="http://www.apache.org/dist/incubator/libcloud/apache-libcloud-incubating-0.3.1.tar.bz2.md5">md5</a>]
+                </li>
+            <li><a href="http://www.apache.org/dyn/closer.cgi?path=/incubator/libcloud/apache-libcloud-incubating-0.3.1.zip">apache-libcloud-incubating-0.3.1.zip</a>
+                [<a href="http://www.apache.org/dist/incubator/libcloud/apache-libcloud-incubating-0.3.1.zip.asc">asc</a>]
+                [<a href="http://www.apache.org/dist/incubator/libcloud/apache-libcloud-incubating-0.3.1.zip.sha1">sha1</a>]
+                [<a href="http://www.apache.org/dist/incubator/libcloud/apache-libcloud-incubating-0.3.1.zip.md5">md5</a>]
+                </li>
+              <li>Verify with these public <a href="https://www.apache.org/dist/incubator/libcloud/KEYS">KEYS</a> used by Apache Libcloud developers.</li>
+          </ul>
+        </li>
+      </ul>
+      <p>
+	Quick package verification guide:
+	<ol style="margin-left:3em;">
+	  <li>
+	    Import KEYS file
+<pre>$ <strong>gpg --import KEYS</strong>
+gpg: key 42721F00: public key "Paul Querna &lt;...&gt;" imported
+gpg: Total number processed: 1
+gpg:               imported: 1
+gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
+gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
+gpg: next trustdb check due at 2011-10-30</pre>
+	  </li>
+	  <li>
+	    Verify package with .asc signature:
+<pre>$ <strong>gpg --verify apache-libcloud-incubating-0.4.0.tar.bz2.asc</strong>
+gpg: Signature made Wed Oct  6 15:31:35 2010 CDT using DSA key ID 42721F00
+<span style="color:green">gpg: Good signature from "Paul Querna &lt;...&gt;"
+gpg:                 aka "Paul Querna &lt;...&gt;"
+gpg:                 ...</span>
+gpg: WARNING: This key is not certified with a trusted signature!
+gpg:          There is no indication that the signature belongs to the owner.
+Primary key fingerprint: 39F6 691A 0ECF 0C50 E8BB  849C F788 75F6 4272 1F00</pre>
+            Example bad signature:
+<pre>$ <strong>gpg --verify apache-libcloud-incubating-0.4.0.tar.bz2.asc</strong>
+gpg: Signature made Wed Oct  6 15:31:35 2010 CDT using DSA key ID 42721F00
+<span style="color:red">gpg: BAD signature from "Paul Querna &lt;...&gt;"</span></pre>
+	  </li>
+	</ol>
+
+See the [developer  information](devinfo.html) for how to get libcloud from source control.</p>

Added: incubator/libcloud/site/trunk/content/libcloud/driver-features.mdtext
URL: http://svn.apache.org/viewvc/incubator/libcloud/site/trunk/content/libcloud/driver-features.mdtext?rev=1084239&view=auto
==============================================================================
--- incubator/libcloud/site/trunk/content/libcloud/driver-features.mdtext (added)
+++ incubator/libcloud/site/trunk/content/libcloud/driver-features.mdtext Tue Mar 22 16:32:15 2011
@@ -0,0 +1,28 @@
+title: Driver features
+
+## Driver features ##
+
+Here you can find a short description of the common features supported by different provider drivers. Keep in mind that this page only contains a list of standard features - provider specific features (extension methods) are not included.
+
+## Compute ##
+
+### <a name="list">list</a> ###
+Return a list of the currently active nodes.
+
+### <a name="reboot">reboot</a> ###
+Allows user to reboot (restart) a node.
+
+### <a name="create">create</a> ###
+Allows user to create a new node.
+
+### <a name="destroy">destroy</a> ###
+Allows user to destroy an existing node.
+
+### <a name="images">images</a> ###
+Returns a list of available node images.
+
+### <a name="sizes">sizes</a> ###
+Returns a list of available node sizes.
+
+### <a name="deploy">deploy</a> ###
+Allows user to run arbitrary shell script on the node after if has been provisioned.

Added: incubator/libcloud/site/trunk/content/libcloud/exports/compute-providers-matrix.xml
URL: http://svn.apache.org/viewvc/incubator/libcloud/site/trunk/content/libcloud/exports/compute-providers-matrix.xml?rev=1084239&view=auto
==============================================================================
--- incubator/libcloud/site/trunk/content/libcloud/exports/compute-providers-matrix.xml (added)
+++ incubator/libcloud/site/trunk/content/libcloud/exports/compute-providers-matrix.xml Tue Mar 22 16:32:15 2011
@@ -0,0 +1,243 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<compute-providers-matrix>
+    <provider href="">
+        <name>Brightbox</name>
+        <list>yes</list>
+        <reboot></reboot>
+        <create>yes</create>
+        <destroy>yes</destroy>
+        <images>yes</images>
+        <sizes>yes</sizes>
+        <deploy></deploy>
+    </provider>
+    <provider href="">
+        <name>CloudSigma</name>
+        <list>yes</list>
+        <reboot>yes</reboot>
+        <create>yes</create>
+        <destroy>yes</destroy>
+        <images>yes</images>
+        <sizes>yes</sizes>
+        <deploy></deploy>
+    </provider>
+    <provider href="">
+        <name>Dreamhost</name>
+        <list>yes</list>
+        <reboot>yes</reboot>
+        <create>yes</create>
+        <destroy>yes</destroy>
+        <images>yes</images>
+        <sizes>yes</sizes>
+        <deploy></deploy>
+    </provider>
+    <provider href="">
+        <name>EC2-AP Northeast</name>
+        <list>yes</list>
+        <reboot>yes</reboot>
+        <create>yes</create>
+        <destroy>yes</destroy>
+        <images>yes</images>
+        <sizes>yes</sizes>
+        <deploy>yes</deploy>
+    </provider>
+    <provider href="">
+        <name>EC2-AP Southeast</name>
+        <list>yes</list>
+        <reboot>yes</reboot>
+        <create>yes</create>
+        <destroy>yes</destroy>
+        <images>yes</images>
+        <sizes>yes</sizes>
+        <deploy>yes</deploy>
+    </provider>
+    <provider href="">
+        <name>EC2-US East</name>
+        <list>yes</list>
+        <reboot>yes</reboot>
+        <create>yes</create>
+        <destroy>yes</destroy>
+        <images>yes</images>
+        <sizes>yes</sizes>
+        <deploy>yes</deploy>
+    </provider>
+    <provider href="">
+        <name>EC2-US West</name>
+        <list>yes</list>
+        <reboot>yes</reboot>
+        <create>yes</create>
+        <destroy>yes</destroy>
+        <images>yes</images>
+        <sizes>yes</sizes>
+        <deploy>yes</deploy>
+    </provider>
+    <provider href="">
+        <name>EC2-EU West</name>
+        <list>yes</list>
+        <reboot>yes</reboot>
+        <create>yes</create>
+        <destroy>yes</destroy>
+        <images>yes</images>
+        <sizes>yes</sizes>
+        <deploy>yes</deploy>
+    </provider>
+    <provider href="">
+        <name>enomaly ECP</name>
+        <list>yes</list>
+        <reboot>yes</reboot>
+        <create>yes</create>
+        <destroy>yes</destroy>
+        <images>yes</images>
+        <sizes>yes</sizes>
+        <deploy>yes</deploy>
+    </provider>
+    <provider href="">
+        <name>ElasticHosts</name>
+        <list>yes</list>
+        <reboot>yes</reboot>
+        <create>yes</create>
+        <destroy>yes</destroy>
+        <images>yes</images>
+        <sizes>yes</sizes>
+        <deploy>yes</deploy>
+    </provider>
+    <provider href="">
+        <name>Eucalyptus</name>
+        <list>yes</list>
+        <reboot>yes</reboot>
+        <create>yes</create>
+        <destroy>yes</destroy>
+        <images>yes</images>
+        <sizes>yes</sizes>
+        <deploy></deploy>
+    </provider>
+    <provider href="">
+        <name>GoGrid</name>
+        <list>yes</list>
+        <reboot>yes</reboot>
+        <create>yes</create>
+        <destroy>yes</destroy>
+        <images>yes</images>
+        <sizes>yes</sizes>
+        <deploy>yes</deploy>
+    </provider>
+    <provider href="">
+        <name>IBM Cloud</name>
+        <list>yes</list>
+        <reboot>yes</reboot>
+        <create>yes</create>
+        <destroy>yes</destroy>
+        <images>yes</images>
+        <sizes>yes</sizes>
+        <deploy></deploy>
+    </provider>
+    <provider href="">
+        <name>Linode</name>
+        <list>yes</list>
+        <reboot>yes</reboot>
+        <create>yes</create>
+        <destroy>yes</destroy>
+        <images>yes</images>
+        <sizes>yes</sizes>
+        <deploy>yes</deploy>
+    </provider>
+    <provider href="">
+        <name>OpenNebula</name>
+        <list>yes</list>
+        <reboot>yes</reboot>
+        <create>yes</create>
+        <destroy>yes</destroy>
+        <images>yes</images>
+        <sizes>yes</sizes>
+        <deploy></deploy>
+    </provider>
+    <provider href="">
+        <name>Rackspace US</name>
+        <list>yes</list>
+        <reboot>yes</reboot>
+        <create>yes</create>
+        <destroy>yes</destroy>
+        <images>yes</images>
+        <sizes>yes</sizes>
+        <deploy>yes</deploy>
+    </provider>
+    <provider href="">
+        <name>Rackspace UK</name>
+        <list>yes</list>
+        <reboot>yes</reboot>
+        <create>yes</create>
+        <destroy>yes</destroy>
+        <images>yes</images>
+        <sizes>yes</sizes>
+        <deploy>yes</deploy>
+    </provider>
+    <provider href="">
+        <name>RimuHosting</name>
+        <list>yes</list>
+        <reboot>yes</reboot>
+        <create>yes</create>
+        <destroy>yes</destroy>
+        <images>yes</images>
+        <sizes>yes</sizes>
+        <deploy></deploy>
+    </provider>
+    <provider href="">
+        <name>Slicehost</name>
+        <list>yes</list>
+        <reboot>yes</reboot>
+        <create>yes</create>
+        <destroy>yes</destroy>
+        <images>yes</images>
+        <sizes>yes</sizes>
+        <deploy>yes</deploy>
+    </provider>
+    <provider href="">
+        <name>SoftLayer</name>
+        <list>yes</list>
+        <reboot>yes</reboot>
+        <create>yes</create>
+        <destroy>yes</destroy>
+        <images>yes</images>
+        <sizes>yes</sizes>
+        <deploy>yes</deploy>
+    </provider>
+    <provider href="">
+        <name>Terremark</name>
+        <list>yes</list>
+        <reboot>yes</reboot>
+        <create>yes</create>
+        <destroy>yes</destroy>
+        <images>yes</images>
+        <sizes>yes</sizes>
+        <deploy>yes</deploy>
+    </provider>
+    <provider href="">
+        <name>vCloud</name>
+        <list>yes</list>
+        <reboot>yes</reboot>
+        <create>yes</create>
+        <destroy>yes</destroy>
+        <images>yes</images>
+        <sizes>yes</sizes>
+        <deploy>yes</deploy>
+    </provider>
+    <provider href="">
+        <name>Voxel</name>
+        <list>yes</list>
+        <reboot>yes</reboot>
+        <create>yes</create>
+        <destroy>yes</destroy>
+        <images>yes</images>
+        <sizes>yes</sizes>
+        <deploy></deploy>
+    </provider>
+    <provider href="">
+        <name>VPS.net</name>
+        <list>yes</list>
+        <reboot>yes</reboot>
+        <create>yes</create>
+        <destroy>yes</destroy>
+        <images>yes</images>
+        <sizes>yes</sizes>
+        <deploy></deploy>
+    </provider>
+</compute-providers-matrix>

Added: incubator/libcloud/site/trunk/content/libcloud/exports/compute-providers-matrix.xsl
URL: http://svn.apache.org/viewvc/incubator/libcloud/site/trunk/content/libcloud/exports/compute-providers-matrix.xsl?rev=1084239&view=auto
==============================================================================
--- incubator/libcloud/site/trunk/content/libcloud/exports/compute-providers-matrix.xsl (added)
+++ incubator/libcloud/site/trunk/content/libcloud/exports/compute-providers-matrix.xsl Tue Mar 22 16:32:15 2011
@@ -0,0 +1,46 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+<xsl:output method="xml" omit-xml-declaration="yes"/>
+
+<xsl:template match="compute-providers-matrix">
+  <table class="support-table" cellpadding="0" cellspacing="0" border="0">
+
+    <xsl:for-each select="provider">
+      <tr>
+        <th colspan="4">
+          <a>
+            <xsl:attribute name="href">
+              <xsl:value-of select="@href"/>
+            </xsl:attribute>
+            <xsl:value-of select="Name" />
+          </a>
+        </th>
+      </tr>
+      </xsl:for-each>
+    
+      <xsl:for-each select="provider">
+      <tr>
+        <th>
+        <a>
+          <xsl:attribute name="href">
+            <xsl:value-of select="@href"/>
+          </xsl:attribute>
+          <xsl:attribute name="title">
+            <xsl:value-of select="name"/>
+          </xsl:attribute>
+          <xsl:value-of select="name" />
+        </a>
+        </th>
+        <td><xsl:value-of select="list" /></td>
+        <td><xsl:value-of select="reboot" /></td>
+        <td><xsl:value-of select="create" /></td>
+        <td><xsl:value-of select="destroy" /></td>
+        <td><xsl:value-of select="images" /></td>
+        <td><xsl:value-of select="sizes" /></td>
+        <td><xsl:value-of select="deploy" /></td>
+      </tr>
+      </xsl:for-each>
+
+  </table>
+</xsl:template>
+
+</xsl:stylesheet>

Added: incubator/libcloud/site/trunk/content/libcloud/getting-started.mdtext
URL: http://svn.apache.org/viewvc/incubator/libcloud/site/trunk/content/libcloud/getting-started.mdtext?rev=1084239&view=auto
==============================================================================
--- incubator/libcloud/site/trunk/content/libcloud/getting-started.mdtext (added)
+++ incubator/libcloud/site/trunk/content/libcloud/getting-started.mdtext Tue Mar 22 16:32:15 2011
@@ -0,0 +1,116 @@
+title: Getting started
+
+## Installation ##
+s
+libcloud's current release is **0.4.2**, and can be [downloaded](downloads.html), but it is also [available on PyPi](http://pypi.python.org/pypi/apache-libcloud)
+
+    ::bash
+    pip apache-libcloud
+
+## API Reference Documentation ##
+
+[Available here](http://ci.apache.org/projects/libcloud/apidocs/).
+    
+## Example: Connecting with a Driver ##
+  
+    ::python
+    from libcloud.types import Provider
+    from libcloud.providers import get_driver
+
+    EC2_ACCESS_ID = 'your access id'
+    EC2_SECRET_KEY = 'your secret key'
+
+    Driver = get_driver(Provider.EC2)
+    conn = Driver(EC2_ACCESS_ID, EC2_SECRET_KEY)
+
+    nodes = conn.list_nodes()
+    # [<Node: uuid=..., state=3, public_ip=['1.1.1.1'], provider=EC2 ...>, ...]
+
+## Example: Creating a Node ##
+
+    ::python
+    from libcloud.types import Provider
+    from libcloud.providers import get_driver
+
+    RACKSPACE_USER = 'your username'
+    RACKSPACE_KEY = 'your key'
+
+    Driver = get_driver(Provider.RACKSPACE)
+    conn = Driver(RACKSPACE_USER, RACKSPACE_KEY)
+
+    # retrieve available images and sizes 
+    images = conn.list_images() 
+    # [<NodeImage: id=3, name=Gentoo 2008.0, driver=Rackspace  ...>, ...] 
+    sizes = conn.list_sizes() 
+    # [<NodeSize: id=1, name=256 server, ram=256 ... driver=Rackspace ...>, ...] 
+    
+    # create node with first image and first size 
+    node = conn.create_node(name='test', image=images[0], size=sizes[0]) 
+    # <Node: uuid=..., name=test, state=3, public_ip=['1.1.1.1'], provider=Rackspace ...>
+
+## Example: List Nodes Across Multiple Providers ##
+
+The following example will list servers across Amazon EC2, Slicehost, and Rackspace Cloud Servers using the same API call. The servers will be represented in a standard Node object.
+
+    ::python
+    from libcloud.types import Provider 
+    from libcloud.providers import get_driver 
+     
+    EC2_ACCESS_ID    = 'your access id' 
+    EC2_SECRET_KEY    = 'your secret key' 
+    SLICEHOST_API_KEY = 'your api key' 
+    RACKSPACE_USER    = 'your username' 
+    RACKSPACE_KEY    = 'your key' 
+     
+    EC2Driver     = get_driver(Provider.EC2) 
+    SlicehostDriver = get_driver(Provider.SLICEHOST) 
+    RackspaceDriver = get_driver(Provider.RACKSPACE) 
+     
+    drivers = [ EC2Driver(EC2_ACCESS_ID, EC2_SECRET_KEY), 
+            SlicehostDriver(SLICEHOST_API_KEY), 
+            RackspaceDriver(RACKSPACE_USER, RACKSPACE_KEY) ] 
+     
+    nodes = [] 
+    for driver in drivers: 
+        nodes += driver.list_nodes() 
+    print nodes 
+    # [ <Node: provider=Amazon, status=RUNNING, name=bob, ip=1.2.3.4.5>, 
+    #   <Node: provider=Slicehost, status=REBOOT, name=korine, ip=6.7.8.9>, ... ] 
+     
+    # Reboot all nodes named 'test' 
+    [node.reboot() for node in nodes if node.name == 'test']
+
+## Example: Bootstrapping Puppet on a Node ##
+
+Just creating a node isn't that helpful because each cloud gives you
+back nodes in different states. The deploy_node API lets 
+you do more complex actions in cross-cloud portable manner. It works by 
+calling create_node, and then SSHing into the node to run a script 
+or install an SSH Key.
+
+    ::python
+    from libcloud.types import Provider 
+    from libcloud.providers import get_driver 
+    from libcloud.deployment import MultiStepDeployment, ScriptDeployment, SSHKeyDeployment 
+    import os 
+     
+    RACKSPACE_USER = 'your username' 
+    RACKSPACE_KEY = 'your key' 
+     
+    Driver = get_driver(Provider.RACKSPACE) 
+    conn = Driver(RACKSPACE_USER, RACKSPACE_KEY) 
+     
+    # read your public key in 
+    sd = SSHKeyDeployment(open(os.path.expanduser("~/.ssh/id_dsa.pub")).read()) 
+    # a simple script to install puppet post boot, can be much more complicated. 
+    script = ScriptDeployment("apt-get install puppet") 
+    # a task that first installs the ssh key, and then runs the script 
+    msd = MultiStepDeployment([sd, script]) 
+     
+    images = conn.list_images() 
+    sizes = conn.list_sizes() 
+     
+    # deploy_node takes the same base keyword arguments as create_node. 
+    node = conn.deploy_node(name='test', image=images[0], size=sizes[0], deploy=msd) 
+    # <Node: uuid=..., name=test, state=3, public_ip=['1.1.1.1'], provider=Rackspace ...> 
+    # the node is now booted, with your ssh key and puppet installed. 

Added: incubator/libcloud/site/trunk/content/libcloud/releases.xml
URL: http://svn.apache.org/viewvc/incubator/libcloud/site/trunk/content/libcloud/releases.xml?rev=1084239&view=auto
==============================================================================
--- incubator/libcloud/site/trunk/content/libcloud/releases.xml (added)
+++ incubator/libcloud/site/trunk/content/libcloud/releases.xml Tue Mar 22 16:32:15 2011
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?>

Added: incubator/libcloud/site/trunk/lib/path.pm
URL: http://svn.apache.org/viewvc/incubator/libcloud/site/trunk/lib/path.pm?rev=1084239&view=auto
==============================================================================
--- incubator/libcloud/site/trunk/lib/path.pm (added)
+++ incubator/libcloud/site/trunk/lib/path.pm Tue Mar 22 16:32:15 2011
@@ -0,0 +1,47 @@
+package path;
+use strict;
+use warnings;
+
+# The @patterns array is used to map filepaths to page treatments.  Each
+# element must be an arrayref with 3 elements of its own: a regex pattern for
+# selecting filepaths, the name of the subroutine from view.pm which will be
+# invoked to generate the page, and a hashref of named parameters which will
+# be passed to the view subroutine.
+our @patterns = (
+    [ qr!index\.mdtext$!, basic => { template => "index.html" } ],
+    [ qr!\.mdtext$!, basic => { template => "basic.html" } ],
+    [ qr!^/sitemap\.html$!, sitemap => { headers => { title => "Sitemap" }} ],
+    [ qr!^/exports/index\.html$!, exports => {} ],
+);
+
+# The %dependecies hash is used when building pages that reference or depend
+# upon other pages -- e.g. a sitemap, which depends upon the pages that it
+# links to.  The keys for %dependencies are filepaths, and the values are
+# arrayrefs containing other filepaths.
+our %dependencies = (
+    "/sitemap.html" => [ grep s!^content!!, glob "content/libcloud/*.mdtext"
+    ],
+);
+
+1;
+
+__END__
+
+=head1 LICENSE
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.  The
+    ASF licenses this file to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance with the
+    License.  You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+    License for the specific language governing permissions and limitations
+    under the License.
+
+=cut

Added: incubator/libcloud/site/trunk/lib/view.pm
URL: http://svn.apache.org/viewvc/incubator/libcloud/site/trunk/lib/view.pm?rev=1084239&view=auto
==============================================================================
--- incubator/libcloud/site/trunk/lib/view.pm (added)
+++ incubator/libcloud/site/trunk/lib/view.pm Tue Mar 22 16:32:15 2011
@@ -0,0 +1,153 @@
+package view;
+
+=head1 INTERFACE
+
+Each function within view.pm which will be used for page generation must
+implement a standard interface.
+
+    sub my_view {
+        my %args = @_;
+        ...
+        return ($content, $extension, @optional);
+    }
+
+First, each function must accept labeled parameters.  The only parameter which
+will always be present is "path"; see the documentation in path.pm for the
+"@patterns" array with regards to invocation with additional parameters.
+
+Second, each function must return a list with at least two elements: the first
+element must be the page content, and the second must be a file extention.
+Returning additional elements in the list (as some of the functions below do)
+is optional.
+
+    return ($content, 'html', \%args);
+
+The constraints imposed by this interface may cause difficulties, for example
+when you want to generate both "foo.html" and "foo.pdf".  However, it is
+usually possible to work around such issues with symlinks and dependency
+management in path.pm.
+
+=cut
+
+use strict;
+use warnings;
+use Carp;
+use Dotiac::DTL;
+use Dotiac::DTL::Addon::markup;
+use ASF::Util qw( read_text_file );
+
+BEGIN { push @Dotiac::DTL::TEMPLATE_DIRS, "templates"; }
+
+# A "basic" view, which takes 'template' and 'path' parameters.
+
+sub basic {
+    my %args = @_;
+    my $filepath = "content$args{path}";
+    read_text_file($filepath, \%args);
+    $args{path} =~ s/\.mdtext$/\.html/;
+    $args{breadcrumbs} = _breadcrumbs($args{path});
+    
+    my $template_path = "templates/$args{template}";
+    my $rendered = Dotiac::DTL->new($template_path)->render(\%args);
+    return ($rendered, 'html', \%args);
+}
+
+# A view which generates a sitemap.
+
+sub sitemap {
+    my %args = @_;
+    my $template = "content$args{path}";
+    $args{breadcrumbs} .= _breadcrumbs($args{path});
+    my $dir = $template;
+    $dir =~ s!/[^/]+$!!;
+    opendir my $dh, $dir or die "Can't opendir $dir: $!\n";
+    my %data;
+    for (map "$dir/$_", grep $_ ne "." && $_ ne ".." && $_ ne ".svn", readdir $dh) {
+        if (-f and /\.mdtext$/) {
+            my $file = $_;
+            $file =~ s/^content//;
+            no warnings 'once';
+            for my $p (@path::patterns) {
+                my ($re, $method, $args) = @$p;
+                next unless $file =~ $re;
+                my $s = view->can($method) or die "Can't locate method: $method\n";
+                my ($content, $ext, $vars) = $s->(path => $file, %$args);
+                $file =~ s/\.mdtext$/.$ext/;
+                $data{$file} = $vars;
+                last;
+            }
+        }
+    }
+
+    my $content = "";
+
+    for (sort keys %data) {
+        $content .= "- [$data{$_}->{headers}->{title}]($_)\n";
+        for my $hdr (grep /^#/, split "\n", $data{$_}->{content}) {
+            $hdr =~ /^(#+)\s+([^#]+)?\s+\1\s+\{#([^}]+)\}$/ or next;
+            my $level = length $1;
+            $level *= 4;
+            $content .= " " x $level;
+            $content .= "- [$2]($_#$3)\n";
+        }
+    }
+    $args{content} = $content;
+    return Dotiac::DTL::Template($template)->render(\%args), html => \%args;
+}
+
+sub exports {
+    my %args = @_;
+    my $template = "content$args{path}";
+    $args{breadcrumbs} = breadcrumbs($args{path});
+    
+    my $page_path = $template;
+    $page_path =~ s/\.[^.]+$/.page/;
+    if (-d $page_path) {
+        for my $f (grep -f, glob "$page_path/*.mdtext") {
+            $f =~ m!/([^/]+)\.mdtext$! or die "Bad filename: $f\n";
+            $args{$1} = {};
+            read_text_file $f, $args{$1};
+        }
+        
+        $args{table_compute} = `xsltproc $page_path/compute-providers-matrix.xsl $page_path/compute-providers-matrix.xml`;
+
+    }
+
+    return Template($template)->render(\%args), html => \%args;
+}
+
+sub _breadcrumbs {
+    my @path = split m!/!, shift;
+    pop @path;
+    my @rv;
+    my $relpath = "";
+    for (@path) {
+        $relpath .= "$_/";
+        $_ ||= "Home";
+        push @rv, qq(<a href="$relpath">\u$_</a>);
+    }
+    return join "&nbsp;&raquo&nbsp;", @rv;
+}
+
+1;
+
+__END__
+
+=head1 LICENSE
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.  The
+    ASF licenses this file to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance with the
+    License.  You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+    License for the specific language governing permissions and limitations
+    under the License.
+
+=cut

Added: incubator/libcloud/site/trunk/templates/basic.html
URL: http://svn.apache.org/viewvc/incubator/libcloud/site/trunk/templates/basic.html?rev=1084239&view=auto
==============================================================================
--- incubator/libcloud/site/trunk/templates/basic.html (added)
+++ incubator/libcloud/site/trunk/templates/basic.html Tue Mar 22 16:32:15 2011
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+  <title>libcloud python library - {% block title %}{{ headers.title }}{% endblock %}</title>
+  <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
+  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
+  <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js" type="text/javascript"></script>
+  <script src="js/libcloud.js" type="text/javascript"></script>
+  <link rel="stylesheet" href="css/screen.css" type="text/css">
+  <link rel="stylesheet" href="css/libcloud.css" type="text/css">
+  <link rel="stylesheet" href="css/code.css" type="text/css">
+  <link rel="icon" type="image/png" href="images/favicon.png"/>
+</head>
+<body>
+  <div class="container">
+    <div id="header" class="span-24 last">
+      {% block header %}
+      <h1>libcloud <span>a unified interface to the cloud</span></h1>
+      {% endblock %}
+    </div>
+
+    <div id="banner" class="span-24 last">
+      {% block banner %}
+      <h2>{{ headers.title }}</h2>
+      {% endblock %}
+    </div>
+
+    <div id="feature" class="container">
+      {% block sub_header %}
+      {% endblock %}
+    </div>
+    
+    {% block sidebar %}
+    <div id="sidebar" class="span-8 border">
+      {% include "blocks/sidebar.html" %}
+    </div>
+    {% endblock %}
+
+    <div id="main" class="span-16 last">
+      {% block content %}
+      {{ content|markdown }}
+      {% endblock %}
+    </div>
+
+    <div id="footer" class="span-24">
+    {% block footer %}
+    {% endblock %}
+    </div>
+  </div>
+{% include "blocks/analytics.html" %}
+</body>
+</html>

Added: incubator/libcloud/site/trunk/templates/blocks/analytics.html
URL: http://svn.apache.org/viewvc/incubator/libcloud/site/trunk/templates/blocks/analytics.html?rev=1084239&view=auto
==============================================================================
--- incubator/libcloud/site/trunk/templates/blocks/analytics.html (added)
+++ incubator/libcloud/site/trunk/templates/blocks/analytics.html Tue Mar 22 16:32:15 2011
@@ -0,0 +1,10 @@
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-9902461-1");
+pageTracker._trackPageview();
+} catch(err) {}
+</script>

Added: incubator/libcloud/site/trunk/templates/blocks/menu.html
URL: http://svn.apache.org/viewvc/incubator/libcloud/site/trunk/templates/blocks/menu.html?rev=1084239&view=auto
==============================================================================
--- incubator/libcloud/site/trunk/templates/blocks/menu.html (added)
+++ incubator/libcloud/site/trunk/templates/blocks/menu.html Tue Mar 22 16:32:15 2011
@@ -0,0 +1,6 @@
+<h2><a href="index.html">home</a></h2>
+<h2><a href="about.html">about</a></h2>
+<h2><a href="getting-started.html">getting started</a></h2>
+<h2><a href="whos-using.html">who's using libcloud?</a></h2>
+<h2><a href="devinfo.html">developer information</a></h2>
+<h2><a href="downloads.html">downloads</a></h2>

Added: incubator/libcloud/site/trunk/templates/blocks/other.html
URL: http://svn.apache.org/viewvc/incubator/libcloud/site/trunk/templates/blocks/other.html?rev=1084239&view=auto
==============================================================================
--- incubator/libcloud/site/trunk/templates/blocks/other.html (added)
+++ incubator/libcloud/site/trunk/templates/blocks/other.html Tue Mar 22 16:32:15 2011
@@ -0,0 +1,12 @@
+<div id="pycon-logo"><a
+              href="http://mail-archives.apache.org/mod_mbox/incubator-libcloud/201102.mbox/%3CAANLkTimwn5Dm372VYZ4YVcgKQqbVVwxyo8=DMFtHoTwg@mail.gmail.com%3E"
+              title="libcloud will be at PyCon in march - join us and help us
+              improve and advance the library!"><img
+              src="http://us.pycon.org/2011/site_media/static/img/badges/pycon-badge-200x60.png"
+              alt="Join us at PyCon"/></a></div>
+
+<div id="twitter-logo"><a href="http://www.twitter.com/libcloud"><img
+              src="http://twitter-badges.s3.amazonaws.com/follow_me-a.png"
+              alt="Follow libcloud on Twitter"/></a></div>
+
+<div id="incubator-logo"><a href="http://incubator.apache.org/"><img src="images/apache_incubator.png" alt="apache incubator" /></a></div>

Added: incubator/libcloud/site/trunk/templates/blocks/quotes.html
URL: http://svn.apache.org/viewvc/incubator/libcloud/site/trunk/templates/blocks/quotes.html?rev=1084239&view=auto
==============================================================================
--- incubator/libcloud/site/trunk/templates/blocks/quotes.html (added)
+++ incubator/libcloud/site/trunk/templates/blocks/quotes.html Tue Mar 22 16:32:15 2011
@@ -0,0 +1,36 @@
+<div class="span-6">
+        <blockquote>
+          &#8220;libcloud represents a fundamental change in the way clouds are managed, breaking the barriers of proprietary, closed clouds.  We at Linode believe this is of the utmost importance and fully support this effort.&#8221;
+          <br>
+          <span class="byline">
+            - Christopher S. Aker, <a href="http://www.linode.com">Linode</a>, Founder
+          </span>
+        </blockquote>
+      </div>
+      <div class="span-6">
+        <blockquote>
+          &#8220;Libcloud will make life easier for our customers. We appreciate and support this standardization tool.&#8221;
+          <br>
+          <span class="byline">
+            - Matt Tanase, <a href="http://www.slicehost.com">Slicehost</a>, Founder
+          </span>
+        </blockquote>
+      </div>
+      <div class="span-6">
+        <blockquote>
+          &#8220;I'm excited to see the development of projects, like libcloud, that help make the lives of the cloud computing community easier by offering a standardized way to communicate with their provider of choice.&#8221;
+          <br>
+          <span class="byline">
+            - Bret Piatt, <a href="http://www.rackspace.com">Rackspace</a>, Technical Alliance Manager
+          </span>
+        </blockquote>
+      </div>
+      <div class="span-6 last">
+        <blockquote>
+          &#8220;We believe in an open cloud and are thrilled to see libcloud push the movement forward.&#8221;
+          <br>
+          <span class="byline">
+            - Paul Lancaster, <a href="http://www.gogrid.com">GoGrid</a>, Business Development Manager
+          </span>
+        </blockquote>
+</div>

Added: incubator/libcloud/site/trunk/templates/blocks/sidebar.html
URL: http://svn.apache.org/viewvc/incubator/libcloud/site/trunk/templates/blocks/sidebar.html?rev=1084239&view=auto
==============================================================================
--- incubator/libcloud/site/trunk/templates/blocks/sidebar.html (added)
+++ incubator/libcloud/site/trunk/templates/blocks/sidebar.html Tue Mar 22 16:32:15 2011
@@ -0,0 +1,7 @@
+{% block menu %}
+{% include "blocks/menu.html" %}
+{% endblock %}
+
+{% block other %}
+{% include "blocks/other.html" %}
+{% endblock %}

Added: incubator/libcloud/site/trunk/templates/index.html
URL: http://svn.apache.org/viewvc/incubator/libcloud/site/trunk/templates/index.html?rev=1084239&view=auto
==============================================================================
--- incubator/libcloud/site/trunk/templates/index.html (added)
+++ incubator/libcloud/site/trunk/templates/index.html Tue Mar 22 16:32:15 2011
@@ -0,0 +1,3 @@
+{% extends "basic.html" %}
+
+{% block sub_header %}{%include "blocks/quotes.html" %} <hr />{% endblock %}