You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@knox.apache.org by km...@apache.org on 2013/03/19 23:40:38 UTC

svn commit: r1458550 [1/2] - /incubator/knox/site/

Author: kminder
Date: Tue Mar 19 22:40:38 2013
New Revision: 1458550

URL: http://svn.apache.org/r1458550
Log:
Publish site from Git repository.

Added:
    incubator/knox/site/build-process.html
    incubator/knox/site/client.html
    incubator/knox/site/contribute-process.html
    incubator/knox/site/privacy-policy.html
    incubator/knox/site/project-reports.html
    incubator/knox/site/rat-report.html
    incubator/knox/site/readme-0-2-0.html
    incubator/knox/site/release-process.html
    incubator/knox/site/roadmap-0-3-0.html
    incubator/knox/site/site-process.html
    incubator/knox/site/template.html
Modified:
    incubator/knox/site/issue-tracking.html
    incubator/knox/site/license.html
    incubator/knox/site/mail-lists.html
    incubator/knox/site/project-info.html
    incubator/knox/site/team-list.html

Added: incubator/knox/site/build-process.html
URL: http://svn.apache.org/viewvc/incubator/knox/site/build-process.html?rev=1458550&view=auto
==============================================================================
--- incubator/knox/site/build-process.html (added)
+++ incubator/knox/site/build-process.html Tue Mar 19 22:40:38 2013
@@ -0,0 +1,175 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Mar 19, 2013 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title></title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20130319" />
+    <meta http-equiv="Content-Language" content="en" />
+                  
+        </head>
+  <body class="composite">
+    <div id="banner">
+                                      <a href="./" id="bannerLeft">
+                                                <img src="images/apache-logo.gif" alt="Knox Gateway" />
+                </a>
+                                            <a href=".." id="bannerRight">
+                                                <img src="images/apache-incubator-logo.png" alt="Apache Incubator" />
+                </a>
+            <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+                
+                <div class="xleft">
+                                  <a href="index.html" title="Knox">Knox</a>
+        &gt;
+    
+      </div>
+            <div class="xright">                    <a href="https://git-wip-us.apache.org/repos/asf/incubator-knox.git" class="externalLink" title="Git">Git</a>
+            |
+                        <a href="https://svn.apache.org/repos/asf/incubator/knox/site" class="externalLink" title="Svn">Svn</a>
+            |
+                        <a href="https://issues.apache.org/jira/browse/KNOX" class="externalLink" title="Jira">Jira</a>
+            |
+                        <a href="https://cwiki.apache.org/confluence/display/KNOX/Knox" class="externalLink" title="Wiki">Wiki</a>
+              
+                
+                &nbsp;| <span id="publishDate">Last Published: 2013-03-19</span>
+              &nbsp;| <span id="projectVersion">Version: 0.2.0-SNAPSHOT</span>
+            </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+                
+                                <h5>Knox</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="index.html" title="Welcome">Welcome</a>
+            </li>
+                  <li class="none">
+                          <a href="news.html" title="News">News</a>
+            </li>
+                  <li class="none">
+                          <a href="license.html" title="License">License</a>
+            </li>
+          </ul>
+                       <h5>Documentation</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="client.html" title="Client (KnoxShell)">Client (KnoxShell)</a>
+            </li>
+                  <li class="none">
+                          <a href="https://cwiki.apache.org/confluence/display/KNOX/Knox" class="externalLink" title="Wiki">Wiki</a>
+            </li>
+          </ul>
+                       <h5>Releases</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="readme-0-2-0.html" title="0.2.0 (coming soon)">0.2.0 (coming soon)</a>
+            </li>
+                  <li class="none">
+                          <a href="roadmap-0-3-0.html" title="0.3.0 (planning)">0.3.0 (planning)</a>
+            </li>
+          </ul>
+                       <h5>Processes</h5>
+                  <ul>
+                  <li class="none">
+            <strong>Build</strong>
+          </li>
+                  <li class="none">
+                          <a href="release-process.html" title="Release">Release</a>
+            </li>
+                  <li class="none">
+                          <a href="contribute-process.html" title="Contribute">Contribute</a>
+            </li>
+          </ul>
+                       <h5>Resources</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="https://git-wip-us.apache.org/repos/asf/incubator-knox.git" class="externalLink" title="Source Code">Source Code</a>
+            </li>
+                  <li class="none">
+                          <a href="team-list.html" title="Project Team">Project Team</a>
+            </li>
+                  <li class="none">
+                          <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
+            </li>
+                  <li class="none">
+                          <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
+            </li>
+          </ul>
+                       <h5>ASF</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="http://www.apache.org/foundation/how-it-works.html" class="externalLink" title="How Apache Works">How Apache Works</a>
+            </li>
+                  <li class="none">
+                          <a href="http://www.apache.org/foundation/" class="externalLink" title="Foundation">Foundation</a>
+            </li>
+                  <li class="none">
+                          <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsoring Apache">Sponsoring Apache</a>
+            </li>
+                  <li class="none">
+                          <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks">Thanks</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+                
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <!-- -
+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. --><div class="section"><h2>Build Process<a name="Build_Process"></a></h2><p>TODO: Here we will describe how to build the project.</p></div><div class="section"><h2>Disclaimer<a name="Disclaimer"></a></h2><p>The Apache Knox Gateway is an effort undergoing incubation at the Apache Software Foundation (ASF), sponsored by the Apache Incubator PMC.</p><p>Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects.</p><p>While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.</p></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              <?xml version="1.0" encoding="UTF-8"?>
+<footer>
+  <div class="row span12">Apache Knox Gateway, Apache, the Apache feather logo and the Apache Knox Gateway project logos
+                are trademarks of The Apache Software Foundation.
+                All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div>
+  <div class="row span12">
+    <a href="privacy-policy.html">Privacy Policy</a>
+  </div>
+</footer>
+            </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>

Added: incubator/knox/site/client.html
URL: http://svn.apache.org/viewvc/incubator/knox/site/client.html?rev=1458550&view=auto
==============================================================================
--- incubator/knox/site/client.html (added)
+++ incubator/knox/site/client.html Tue Mar 19 22:40:38 2013
@@ -0,0 +1,578 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Mar 19, 2013 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title></title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20130319" />
+    <meta http-equiv="Content-Language" content="en" />
+                  
+        </head>
+  <body class="composite">
+    <div id="banner">
+                                      <a href="./" id="bannerLeft">
+                                                <img src="images/apache-logo.gif" alt="Knox Gateway" />
+                </a>
+                                            <a href=".." id="bannerRight">
+                                                <img src="images/apache-incubator-logo.png" alt="Apache Incubator" />
+                </a>
+            <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+                
+                <div class="xleft">
+                                  <a href="index.html" title="Knox">Knox</a>
+        &gt;
+    
+      </div>
+            <div class="xright">                    <a href="https://git-wip-us.apache.org/repos/asf/incubator-knox.git" class="externalLink" title="Git">Git</a>
+            |
+                        <a href="https://svn.apache.org/repos/asf/incubator/knox/site" class="externalLink" title="Svn">Svn</a>
+            |
+                        <a href="https://issues.apache.org/jira/browse/KNOX" class="externalLink" title="Jira">Jira</a>
+            |
+                        <a href="https://cwiki.apache.org/confluence/display/KNOX/Knox" class="externalLink" title="Wiki">Wiki</a>
+              
+                
+                &nbsp;| <span id="publishDate">Last Published: 2013-03-19</span>
+              &nbsp;| <span id="projectVersion">Version: 0.2.0-SNAPSHOT</span>
+            </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+                
+                                <h5>Knox</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="index.html" title="Welcome">Welcome</a>
+            </li>
+                  <li class="none">
+                          <a href="news.html" title="News">News</a>
+            </li>
+                  <li class="none">
+                          <a href="license.html" title="License">License</a>
+            </li>
+          </ul>
+                       <h5>Documentation</h5>
+                  <ul>
+                  <li class="none">
+            <strong>Client (KnoxShell)</strong>
+          </li>
+                  <li class="none">
+                          <a href="https://cwiki.apache.org/confluence/display/KNOX/Knox" class="externalLink" title="Wiki">Wiki</a>
+            </li>
+          </ul>
+                       <h5>Releases</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="readme-0-2-0.html" title="0.2.0 (coming soon)">0.2.0 (coming soon)</a>
+            </li>
+                  <li class="none">
+                          <a href="roadmap-0-3-0.html" title="0.3.0 (planning)">0.3.0 (planning)</a>
+            </li>
+          </ul>
+                       <h5>Processes</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="build-process.html" title="Build">Build</a>
+            </li>
+                  <li class="none">
+                          <a href="release-process.html" title="Release">Release</a>
+            </li>
+                  <li class="none">
+                          <a href="contribute-process.html" title="Contribute">Contribute</a>
+            </li>
+          </ul>
+                       <h5>Resources</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="https://git-wip-us.apache.org/repos/asf/incubator-knox.git" class="externalLink" title="Source Code">Source Code</a>
+            </li>
+                  <li class="none">
+                          <a href="team-list.html" title="Project Team">Project Team</a>
+            </li>
+                  <li class="none">
+                          <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
+            </li>
+                  <li class="none">
+                          <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
+            </li>
+          </ul>
+                       <h5>ASF</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="http://www.apache.org/foundation/how-it-works.html" class="externalLink" title="How Apache Works">How Apache Works</a>
+            </li>
+                  <li class="none">
+                          <a href="http://www.apache.org/foundation/" class="externalLink" title="Foundation">Foundation</a>
+            </li>
+                  <li class="none">
+                          <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsoring Apache">Sponsoring Apache</a>
+            </li>
+                  <li class="none">
+                          <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks">Thanks</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+                
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <!-- -
+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. --><div class="section"><h2>Introduction<a name="Introduction"></a></h2><p>Hadoop requires a client that can be used to interact remotely with the services provided by Hadoop cluster. This will also be true when using the Apache Knox Gateway to provide perimeter security and centralized access for these services. The two primary existing clients for Hadoop are the CLI (i.e. Command Line Interface, hadoop) and HUE (i.e. Hadoop User Environment). for several reasons however, neither of these clients can <i>currently</i> be used to access Hadoop services via the Apache Knox Gateway.</p><p>This lead to thinking about a very simple client that could help people use and evaluate the gateway. The list below outline the general requirements for such a client.</p>
+<ol style="list-style-type: decimal">
+  <li>Promote the evaluation and adoption of the Apache Knox Gateway</li>
+  <li>Simple to deploy and use on data worker desktops to access to remote Hadoop clusters</li>
+  <li>Simple to extend with new commands both by other Hadoop projects and by the end user</li>
+  <li>Support the notion of a SSO session for multiple Hadoop interactions</li>
+  <li>Support the multiple authentication and federation token capabilities of the Apache Knox Gateway</li>
+  <li>Promote the use of REST APIs as the dominant remote client mechanism for Hadoop services</li>
+  <li>Promote the the sense of Hadoop as a single unified product</li>
+  <li>Aligned with the Apache Knox Gateways overall goals for security</li>
+</ol><p>The result is a very simple DSL (<a class="externalLink" href="http://en.wikipedia.org/wiki/Domain-specific_language">Domain Specific Language</a>) of sorts that is used via <a class="externalLink" href="http://groovy.codehaus.org/">Groovy</a> scripts. Here is an example of a command that copies a file from the local file system to HDFS. <i>Note: The variables session, localFile and remoteFile are assumed to be defined.</i></p>
+<div class="source"><pre>Hdfs.put( session ).file( localFile ).to( remoteFile ).now()
+</pre></div><p><b><i>This work is very early in development but is also very useful in its current state.</i></b> <b><i>We are very interested in receiving feedback about how to improve this feature and the DSL in particular.</i></b></p><p>A note of thanks to <a class="externalLink" href="https://code.google.com/p/rest-assured/">REST-assured</a> which provides a <a class="externalLink" href="http://en.wikipedia.org/wiki/Fluent_interface">Fluent interface</a> style DSL for testing REST services. It served as the initial inspiration for the creation of this DSL.</p></div><div class="section"><h2>Assumptions<a name="Assumptions"></a></h2><p>This document assumes a few things about your environment in order to simplify the examples.</p>
+<ol style="list-style-type: decimal">
+  <li>The JVM is executable as simply java.</li>
+  <li>The Apache Knox Gateway is installed and functional.</li>
+  <li>The example commands are executed within the context of the GATEWAY_HOME current directory. The GATEWAY_HOME directory is the directory within the Apache Knox Gateway installation that contains the README file and the bin, conf and deployments directories.</li>
+  <li>A few examples require the use of commands from a standard Groovy installation.</li>
+</ol></div><div class="section"><h2>Usage<a name="Usage"></a></h2><p>The DSL requires a shell to interpret the Groovy script. The shell can either be used interactively or to execute a script file. To simplify use, the distribution contains an embedded version of the Groovy shell.</p><p>The shell can be run interactively.</p>
+<div class="source"><pre>java -jar bin/shell-0.2.0-SNAPSHOT.jar
+</pre></div><p>The shell can also be used to execute a script by passing a single filename argument.</p>
+<div class="source"><pre>java -jar bin/shell-0.2.0-SNAPSHOT.jar sample/SmokeTestJob.groovy
+</pre></div><p>When running interactively it may be helpful to reduce some of the output generated by the shell console. Use the following command in the interactive shell to reduce that output. This only needs to be done once as these preferences are persisted.</p>
+<div class="source"><pre>set verbosity QUIET
+set show-last-result false
+</pre></div><p>Also when running interactively use the <tt>exit</tt> command to terminate the shell. Using <tt>^C</tt> to exit can sometimes leaves the parent shell in a problematic state.</p></div><div class="section"><h2>Example<a name="Example"></a></h2><p>Once the shell can be launched the DSL can be used to interact with the gateway and Hadoop. Below is a very simple example of an interactive shell session to upload a file to HDFS.</p>
+<div class="source"><pre>java -jar bin/shell-0.2.0-SNAPSHOT.jar
+knox:000&gt; hadoop = Hadoop.login( &quot;https://localhost:8443/gateway/sample&quot;, &quot;hdfs&quot;, &quot;hdfs-password&quot; )
+knox:000&gt; Hdfs.put( hadoop ).file( &quot;README&quot; ).to( &quot;/tmp/example/README&quot; ).now()
+</pre></div><p>The <tt>knox:000&gt;</tt> in the example above is the prompt from the embedded Groovy console. If you output doesnt look like this you may need to set the verbosity and show-last-result preferences as described above in the Usage section.</p><p>Without using some other tool to browse HDFS it is impossible to tell that that this command did anything. Execute this to get a bit more feedback.</p>
+<div class="source"><pre>knox:000&gt; println &quot;Status=&quot; + Hdfs.put( hadoop ).file( &quot;README&quot; ).to( &quot;/tmp/example/README2&quot; ).now().statusCode
+Status=201
+</pre></div><p>Notice that a different filename is used for the destination. Without this an error would have resulted. Of course the DSL also provides a command to list the contents of a directory.</p>
+<div class="source"><pre>knox:000&gt; println Hdfs.ls( hadoop ).dir( &quot;/tmp/example&quot; ).now().string
+{&quot;FileStatuses&quot;:{&quot;FileStatus&quot;:[{&quot;accessTime&quot;:1363711366977,&quot;blockSize&quot;:134217728,&quot;group&quot;:&quot;hdfs&quot;,&quot;length&quot;:19395,&quot;modificationTime&quot;:1363711366977,&quot;owner&quot;:&quot;hdfs&quot;,&quot;pathSuffix&quot;:&quot;README&quot;,&quot;permission&quot;:&quot;644&quot;,&quot;replication&quot;:1,&quot;type&quot;:&quot;FILE&quot;},{&quot;accessTime&quot;:1363711375617,&quot;blockSize&quot;:134217728,&quot;group&quot;:&quot;hdfs&quot;,&quot;length&quot;:19395,&quot;modificationTime&quot;:1363711375617,&quot;owner&quot;:&quot;hdfs&quot;,&quot;pathSuffix&quot;:&quot;README2&quot;,&quot;permission&quot;:&quot;644&quot;,&quot;replication&quot;:1,&quot;type&quot;:&quot;FILE&quot;}]}}
+</pre></div><p>It is a design decision of the DSL to not provide type safe classes for various request and response payloads. Doing so would provide an undesirable coupling between the DSL and the service implementation. It also would make adding new commands much more difficult. See the Groovy section below for a variety capabilities and tools for working with JSON and XML to make this easy. The example below shows the use of JsonSlurper and GPath to extract content from a JSON response.</p>
+<div class="source"><pre>knox:000&gt; import groovy.json.JsonSlurper
+knox:000&gt; text = Hdfs.ls( hadoop ).dir( &quot;/tmp/example&quot; ).now().string
+knox:000&gt; json = (new JsonSlurper()).parseText( json )
+knox:000&gt; println json.FileStatuses.FileStatus.pathSuffix
+[README, README2]
+</pre></div><p><i>In the future, built-in methods to slurp JSON and XML may be added to make this a bit easier.</i> <i>This would allow for this type if single line interaction.</i> <tt>println Hdfs.ls(hadoop).dir(&quot;/tmp&quot;).now().json().FileStatuses.FileStatus.pathSuffix</tt></p><p>Shell session should always be ended with shutting down the session. The examples above do not touch on it but the DSL supports the simple execution of commands asynchronously. The shutdown command attempts to ensures that all asynchronous commands have completed before existing the shell.</p>
+<div class="source"><pre>knox:000&gt; hadoop.shutdown()
+knox:000&gt; exit
+</pre></div><p>All of the commands above could have been combined into a script file and executed as a single line.</p>
+<div class="source"><pre>java -jar bin/shell-0.2.0.jar samples/Example.groovy
+</pre></div><p>This script file is available in the distribution but for convenience, this is the content.</p>
+<div class="source"><pre>import org.apache.hadoop.gateway.shell.Hadoop
+import org.apache.hadoop.gateway.shell.hdfs.Hdfs
+import groovy.json.JsonSlurper
+
+gateway = &quot;https://localhost:8443/gateway/sample&quot;
+username = &quot;mapred&quot;
+password = &quot;mapred-password&quot;
+dataFile = &quot;README&quot;
+
+hadoop = Hadoop.login( gateway, username, password )
+Hdfs.rm( hadoop ).file( &quot;/tmp/example&quot; ).recursive().now()
+Hdfs.put( hadoop ).file( dataFile ).to( &quot;/tmp/example/README&quot; ).now().string
+text = Hdfs.ls( hadoop ).dir( &quot;/tmp/example&quot; ).now().string
+json = (new JsonSlurper()).parseText( text )
+println json.FileStatuses.FileStatus.pathSuffix
+hadoop.shutdown()
+</pre></div><p>Notice the Hdfs.rm command. This is included simply to ensure that the script can be rerun. Without this an error would result the second time it is run.</p></div><div class="section"><h2>Constructs<a name="Constructs"></a></h2><p>In order to understand the DSL there are three primary constructs that need to be understood.</p><div class="section"><h3>Hadoop<a name="Hadoop"></a></h3><p>This construct encapsulates the client side session state that will be shared between all command invocations. In particular it will simplify the management of any tokens that need to be presented with each command invocation. It also manages a thread pool that is used by all asynchronous commands which is why it is important to call one of the shutdown methods.</p><p>The syntax associated with this is expected to change we expect that credentials will not need to be provided to the gateway. Rather it is expected that some form of access token will be used to initialize the sessi
 on.</p></div><div class="section"><h3>Services<a name="Services"></a></h3><p>Services are the primary extension point for adding new suites of commands. The built in examples are: Hdfs, Job and Workflow. The desire for extensibility is the reason for the slightly awkward Hdfs.ls(hadoop) syntax. Certainly something more like hadoop.hdfs().ls() would have been preferred but this would prevent adding new commands easily. At a minimum it would result in extension commands with a different syntax from the built-in commands.</p><p>The service objects essentially function as a factory for a suite of commands.</p></div><div class="section"><h3>Commands<a name="Commands"></a></h3><p>Commands provide the behavior of the DSL. They typically follow a Fluent interface style in order to allow for single line commands. There are really three parts to each command: Request, Invocation, Response</p><div class="section"><h4>Request<a name="Request"></a></h4><p>The request is populated by all 
 of the methods following the verb method and the invoke method. For example in Hdfs.rm(hadoop).ls(dir).now() the request is populated between the verb method rm() and the invoke method now().</p></div><div class="section"><h4>Invocation<a name="Invocation"></a></h4><p>The invocation method controls how the request is invoked. Currently supported synchronous and asynchronous invocation. The now() method executes the request and returns the result immediately. The later() method submits the request to be executed later and returns a future from which the result can be retrieved. In addition later() invocation method can optionally be provided a closure to execute when the request is complete. See the Futures and Closures sections below for additional detail and examples.</p></div><div class="section"><h4>Response<a name="Response"></a></h4><p>The response contains the results of the invocation of the request. In most cases the response is a thin wrapper over the HTTP response.
  In fact many commands will share a single BasicResponse type that only provides a few simple methods.</p>
+<div class="source"><pre>public int getStatusCode()
+public long getContentLength()
+public String getContentType()
+public String getContentEncoding()
+public InputStream getStream()
+public String getString()
+public byte[] getBytes()
+public void close();
+</pre></div><p>Thanks to Groovy these methods can be accessed as attributes. In the some of the examples the staticCode was retrieved for example.</p>
+<div class="source"><pre>println Hdfs.put(hadoop).rm(dir).now().statusCode
+</pre></div><p>Groovy will invoke the getStatusCode method to retrieve the statusCode attribute.</p><p>The three methods getStream(), getBytes() and getString deserve special attention. Care must be taken that the HTTP body is read only once. Therefore one of these methods (and only one) must be called once and only once. Calling one of these more than once will cause an error. Failing to call one of these methods once will result in lingering open HTTP connections. The close() method may be used if the caller is not interested in reading the result body. Most commands that do not expect a response body will call close implicitly. If the body is retrieved via getBytes() or getString(), the close() method need not be called. When using getStream(), care must be taken to consume the entire body otherwise lingering open HTTP connections will result. The close() method may be called after reading the body partially to discard the remainder of the body.</p></div></div></div><div 
 class="section"><h2>Services<a name="Services"></a></h2><p>There are three basic DSL services and commands bundled with the shell.</p><div class="section"><h3>HDFS<a name="HDFS"></a></h3><p>Provides basic HDFS commands. <b><i>Using these DSL commands requires that WebHDFS be running in the Hadoop cluster.</i></b></p></div><div class="section"><h3>Jobs (Templeton/WebHCat)<a name="Jobs_TempletonWebHCat"></a></h3><p>Provides basic job submission and status commands. <b><i>Using these DSL commands requires that Templeton/WebHCat be running in the Hadoop cluster.</i></b></p></div><div class="section"><h3>Workflow (Oozie)<a name="Workflow_Oozie"></a></h3><p>Provides basic workflow submission and status commands. <b><i>Using these DSL commands requires that Oozie be running in the Hadoop cluster.</i></b></p></div></div><div class="section"><h2>HDFS Commands (WebHDFS)<a name="HDFS_Commands_WebHDFS"></a></h2><div class="section"><h3>ls() - List the contents of a HDFS directory.<a nam
 e="ls_-_List_the_contents_of_a_HDFS_directory."></a></h3>
+<ul>
+  <li>Request
+  <ul>
+    <li>dir (String) - The HDFS directory to list.</li>
+  </ul></li>
+  <li>Response
+  <ul>
+    <li>BasicResponse</li>
+  </ul></li>
+  <li>Example
+  <ul>
+    <li><tt>Hdfs.ls(hadoop).ls().dir(&quot;/&quot;).now()</tt></li>
+  </ul></li>
+</ul></div><div class="section"><h3>rm() - Remove a HDFS file or directory.<a name="rm_-_Remove_a_HDFS_file_or_directory."></a></h3>
+<ul>
+  <li>Request
+  <ul>
+    <li>file (String) - The HDFS file or directory to remove.</li>
+    <li>recursive (Boolean) - If the file is a directory also remove any contained files and directories. Optional: default=false</li>
+  </ul></li>
+  <li>Response
+  <ul>
+    <li>EmptyResponse - Implicit close().</li>
+  </ul></li>
+  <li>Example
+  <ul>
+    <li><tt>Hdfs.rm(hadoop).file(&quot;/tmp/example&quot;).recursive().now()</tt></li>
+  </ul></li>
+</ul></div><div class="section"><h3>put() - Copy a file from the local file system to HDFS.<a name="put_-_Copy_a_file_from_the_local_file_system_to_HDFS."></a></h3>
+<ul>
+  <li>Request
+  <ul>
+    <li>text (String) - The text to copy to the remote file.</li>
+    <li>file (String) - The name of a local file to copy to the remote file.</li>
+    <li>to (String) - The name of the remote file create.</li>
+  </ul></li>
+  <li>Response
+  <ul>
+    <li>EmptyResponse - Implicit close().</li>
+  </ul></li>
+  <li>Example
+  <ul>
+    <li><tt>Hdfs.put(hadoop).file(&quot;localFile&quot;).to(&quot;/tmp/example/remoteFile&quot;).now()</tt></li>
+  </ul></li>
+</ul></div><div class="section"><h3>get() - Copy a file from HDFS to the local file system.<a name="get_-_Copy_a_file_from_HDFS_to_the_local_file_system."></a></h3>
+<ul>
+  <li>Request
+  <ul>
+    <li>file (String) - The name of the local file to create from the remote file. If this isnt specified the file content must be read from the response.</li>
+    <li>from (String) - The name of the remote file to copy.</li>
+  </ul></li>
+  <li>Response
+  <ul>
+    <li>BasicResponse</li>
+  </ul></li>
+  <li>Example
+  <ul>
+    <li><tt>Hdfs.get(hadoop).file(&quot;localFile&quot;).from(&quot;/tmp/example/remoteFile&quot;).now()</tt></li>
+  </ul></li>
+</ul></div><div class="section"><h3>mkdir() - Create a directory in HDFS.<a name="mkdir_-_Create_a_directory_in_HDFS."></a></h3>
+<ul>
+  <li>Request
+  <ul>
+    <li>dir (String) - The name of the remote directory to create.</li>
+    <li>perm (String) - The permissions to create the remote directory with. Optional: default=777</li>
+  </ul></li>
+  <li>Response
+  <ul>
+    <li>EmptyResponse - Implicit close().</li>
+  </ul></li>
+  <li>Example
+  <ul>
+    <li><tt>Hdfs.mkdir(hadoop).dir(&quot;/tmp/example&quot;).perm(&quot;777&quot;).now()</tt></li>
+  </ul></li>
+</ul></div></div><div class="section"><h2>Job Commands (WebHCat/Templeton)<a name="Job_Commands_WebHCatTempleton"></a></h2><div class="section"><h3>submitJava() - Submit a Java MapReduce job.<a name="submitJava_-_Submit_a_Java_MapReduce_job."></a></h3>
+<ul>
+  <li>Request
+  <ul>
+    <li>jar (String) - The remote file name of the JAR containing the app to execute.</li>
+    <li>app (String) - The app name to execute. This is wordcount for example not the class name.</li>
+    <li>input (String) - The remote directory name to use as input for the job.</li>
+    <li>output (String) - The remote directory name to store output from the job.</li>
+  </ul></li>
+  <li>Response
+  <ul>
+    <li>jobId : String - The job ID of the submitted job. Consumes body.</li>
+  </ul></li>
+  <li>Example
+  <ul>
+    <li><tt>Job.submitJava(hadoop).jar(remoteJarName).app(appName).input(remoteInputDir).output(remoteOutputDir).now().jobId</tt></li>
+  </ul></li>
+</ul></div><div class="section"><h3>submitPig() - Submit a Pig job.<a name="submitPig_-_Submit_a_Pig_job."></a></h3>
+<ul>
+  <li>Request
+  <ul>
+    <li>file (String) - The remote file name of the pig script.</li>
+    <li>arg (String) - An argument to pass to the script.</li>
+    <li>statusDir (String) - The remote directory to store status output.</li>
+  </ul></li>
+  <li>Response
+  <ul>
+    <li>jobId : String - The job ID of the submitted job. Consumes body.</li>
+  </ul></li>
+  <li>Example
+  <ul>
+    <li><tt>Job.submitPig(hadoop).file(remotePigFileName).arg(&quot;-v&quot;).statusDir(remoteStatusDir).now()</tt></li>
+  </ul></li>
+</ul></div><div class="section"><h3>submitHive() - Submit a Hive job.<a name="submitHive_-_Submit_a_Hive_job."></a></h3>
+<ul>
+  <li>Request
+  <ul>
+    <li>file (String) - The remote file name of the hive script.</li>
+    <li>arg (String) - An argument to pass to the script.</li>
+    <li>statusDir (String) - The remote directory to store status output.</li>
+  </ul></li>
+  <li>Response
+  <ul>
+    <li>jobId : String - The job ID of the submitted job. Consumes body.</li>
+  </ul></li>
+  <li>Example
+  <ul>
+    <li><tt>Job.submitHive(hadoop).file(remoteHiveFileName).arg(&quot;-v&quot;).statusDir(remoteStatusDir).now()</tt></li>
+  </ul></li>
+</ul></div><div class="section"><h3>queryQueue() - Return a list of all job IDs registered to the user.<a name="queryQueue_-_Return_a_list_of_all_job_IDs_registered_to_the_user."></a></h3>
+<ul>
+  <li>Request
+  <ul>
+    <li>No request parameters.</li>
+  </ul></li>
+  <li>Response
+  <ul>
+    <li>BasicResponse</li>
+  </ul></li>
+  <li>Example
+  <ul>
+    <li><tt>Job.queryQueue(hadoop).now().string</tt></li>
+  </ul></li>
+</ul></div><div class="section"><h3>queryStatus() - Check the status of a job and get related job information given its job ID.<a name="queryStatus_-_Check_the_status_of_a_job_and_get_related_job_information_given_its_job_ID."></a></h3>
+<ul>
+  <li>Request
+  <ul>
+    <li>jobId (String) - The job ID to check. This is the ID received when the job was created.</li>
+  </ul></li>
+  <li>Response
+  <ul>
+    <li>BasicResponse</li>
+  </ul></li>
+  <li>Example
+  <ul>
+    <li><tt>Job.queryStatus(hadoop).jobId(jobId).now().string</tt></li>
+  </ul></li>
+</ul></div></div><div class="section"><h2>Workflow Commands (Oozie)<a name="Workflow_Commands_Oozie"></a></h2><div class="section"><h3>submit() - Submit a workflow job.<a name="submit_-_Submit_a_workflow_job."></a></h3>
+<ul>
+  <li>Request
+  <ul>
+    <li>text (String) - XML formatted workflow configuration string.</li>
+    <li>file (String) - A filename containing XML formatted workflow configuration.</li>
+    <li>action (String) - The initial action to take on the job. Optional: Default is start.</li>
+  </ul></li>
+  <li>Response
+  <ul>
+    <li>BasicResponse</li>
+  </ul></li>
+  <li>Example
+  <ul>
+    <li><tt>Workflow.submit(hadoop).file(localFile).action(&quot;start&quot;).now()</tt></li>
+  </ul></li>
+</ul></div><div class="section"><h3>status() - Query the status of a workflow job.<a name="status_-_Query_the_status_of_a_workflow_job."></a></h3>
+<ul>
+  <li>Request
+  <ul>
+    <li>jobId (String) - The job ID to check. This is the ID received when the job was created.</li>
+  </ul></li>
+  <li>Response
+  <ul>
+    <li>BasicResponse</li>
+  </ul></li>
+  <li>Example
+  <ul>
+    <li><tt>Workflow.status(hadoop).jobId(jobId).now().string</tt></li>
+  </ul></li>
+</ul></div></div><div class="section"><h2>Futures<a name="Futures"></a></h2><p>The DSL supports the ability to invoke commands asynchronously via the later() invocation method. The object returned from the later() method is a java.util.concurrent.Future parametrized with the response type of the command. This is an example of how to asynchronously put a file to HDFS.</p>
+<div class="source"><pre>future = Hdfs.put(hadoop).file(&quot;README&quot;).to(&quot;tmp/example/README&quot;).later()
+println future.get().statusCode
+</pre></div><p>The future.get() method will block until the asynchronous command is complete. To illustrate the usefullness of this however multiple concurrent commands are required.</p>
+<div class="source"><pre>readmeFuture = Hdfs.put(hadoop).file(&quot;README&quot;).to(&quot;tmp/example/README&quot;).later()
+licenseFuture = Hdfs.put(hadoop).file(&quot;LICENSE&quot;).to(&quot;tmp/example/LICENSE&quot;).later()
+hadoop.waitFor( readmeFuture, licenseFuture )
+println readmeFuture.get().statusCode
+println licenseFuture.get().statusCode
+</pre></div><p>The hadoop.waitFor() method will wait for one or more asynchronous commands to complete.</p></div><div class="section"><h2>Closures<a name="Closures"></a></h2><p>Futures alone only provide asynchronous invocation of the command. What if some processing should also occur asynchronously once the command is complete. Support for this is provided by closures. Closures are blocks of code that are passed into the later() invocation method. In Groovy these are contained within {} immediately after a method. These blocks of code are executed once the asynchronous command is complete.</p>
+<div class="source"><pre>Hdfs.put(hadoop).file(&quot;README&quot;).to(&quot;tmp/example/README&quot;).later(){ println it.statusCode }
+</pre></div><p>In this example the put() command is executed on a separate thread and once complete the { println it.statusCode } block is executed on that thread. The it variable is automatically populated by Groovy and is a reference to the result that is returned from the future or now() method. The future example above can be rewritten to illustrate the use of closures.</p>
+<div class="source"><pre>readmeFuture = Hdfs.put(hadoop).file(&quot;README&quot;).to(&quot;tmp/example/README&quot;).later() { println it.statusCode }
+licenseFuture = Hdfs.put(hadoop).file(&quot;LICENSE&quot;).to(&quot;tmp/example/LICENSE&quot;).later() { println it.statusCode }
+hadoop.waitFor( readmeFuture, licenseFuture )
+</pre></div><p>Again, the hadoop.waitFor() method will wait for one or more asynchronous commands to complete.</p></div><div class="section"><h2>Extension<a name="Extension"></a></h2><p>Extensibility is a key design goal of the KnoxShell and DSL. There are two ways to provide extended functionality for use with the shell. The first is to simply create Groovy scripts that use the DSL to perform a useful task. The second is to add new services and commands. In order to add new service and commands new classes must be written in either Groovy or Java and added to the classpath of the shell. Fortunately there is a very simple way to add classes and JARs to the shell classpath. The first time the shell is executed it will create a configuration file in the same directory as the JAR with the same base name and a <tt>.cfg</tt> extension.</p>
+<div class="source"><pre>bin/shell-0.2.0-SNAPSHOT.jar
+bin/shell-0.2.0-SNAPSHOT.cfg
+</pre></div><p>That file contains both the main class for the shell as well as a definition of the classpath. Currently that file will by default contain the following.</p>
+<div class="source"><pre>main.class=org.apache.hadoop.gateway.shell.Shell
+class.path=../lib; ../lib/*.jar; ../ext; ../ext/*.jar
+</pre></div><p>Therefore to extend the shell you should copy any new service and command class either to the <tt>ext</tt> directory or if they are packaged within a JAR copy the JAR to the <tt>ext</tt> directory. The <tt>lib</tt> directory is reserved for JARs that may be delivered with the product.</p><p>Below are samples for the service and command classes that would need to be written to add new commands to the shell. These happen to be Groovy source files but could with very minor changes be Java files. The easiest way to add these to the shell is to compile them directory into the <tt>ext</tt> directory. <i>Note: This command depends upon having the Groovy compiler installed and available on the execution path.</i></p>
+<div class="source"><pre>groovyc -d ext -cp bin/shell-0.2.0-SNAPSHOT.jar samples/SampleService.groovy samples/SampleSimpleCommand.groovy samples/SampleComplexCommand.groovy
+</pre></div><p>These source files are available in the samples directory of the distribution but these are included here for convenience.</p><div class="section"><h3>Sample Service (Groovy)<a name="Sample_Service_Groovy"></a></h3>
+<div class="source"><pre>import org.apache.hadoop.gateway.shell.Hadoop
+
+class SampleService {
+
+  static String PATH = &quot;/namenode/api/v1&quot;
+
+  static SimpleCommand simple( Hadoop hadoop ) {
+    return new SimpleCommand( hadoop )
+  }
+
+  static ComplexCommand.Request complex( Hadoop hadoop ) {
+    return new ComplexCommand.Request( hadoop )
+  }
+
+}
+</pre></div></div><div class="section"><h3>Sample Simple Command (Groovy)<a name="Sample_Simple_Command_Groovy"></a></h3>
+<div class="source"><pre>import org.apache.hadoop.gateway.shell.AbstractRequest
+import org.apache.hadoop.gateway.shell.BasicResponse
+import org.apache.hadoop.gateway.shell.Hadoop
+import org.apache.http.client.methods.HttpGet
+import org.apache.http.client.utils.URIBuilder
+
+import java.util.concurrent.Callable
+
+class SimpleCommand extends AbstractRequest&lt;BasicResponse&gt; {
+
+  SimpleCommand( Hadoop hadoop ) {
+    super( hadoop )
+  }
+
+  private String param
+  SimpleCommand param( String param ) {
+    this.param = param
+    return this
+  }
+
+  @Override
+  protected Callable&lt;BasicResponse&gt; callable() {
+    return new Callable&lt;BasicResponse&gt;() {
+      @Override
+      BasicResponse call() {
+        URIBuilder uri = uri( SampleService.PATH, param )
+        addQueryParam( uri, &quot;op&quot;, &quot;LISTSTATUS&quot; )
+        HttpGet get = new HttpGet( uri.build() )
+        return new BasicResponse( execute( get ) )
+      }
+    }
+  }
+
+}
+</pre></div></div><div class="section"><h3>Sample Complex Command (Groovy)<a name="Sample_Complex_Command_Groovy"></a></h3>
+<div class="source"><pre>import com.jayway.jsonpath.JsonPath
+import org.apache.hadoop.gateway.shell.AbstractRequest
+import org.apache.hadoop.gateway.shell.BasicResponse
+import org.apache.hadoop.gateway.shell.Hadoop
+import org.apache.http.HttpResponse
+import org.apache.http.client.methods.HttpGet
+import org.apache.http.client.utils.URIBuilder
+
+import java.util.concurrent.Callable
+
+class ComplexCommand {
+
+  static class Request extends AbstractRequest&lt;Response&gt; {
+
+    Request( Hadoop hadoop ) {
+      super( hadoop )
+    }
+
+    private String param;
+    Request param( String param ) {
+      this.param = param;
+      return this;
+    }
+
+    @Override
+    protected Callable&lt;Response&gt; callable() {
+      return new Callable&lt;Response&gt;() {
+        @Override
+        Response call() {
+          URIBuilder uri = uri( SampleService.PATH, param )
+          addQueryParam( uri, &quot;op&quot;, &quot;LISTSTATUS&quot; )
+          HttpGet get = new HttpGet( uri.build() )
+          return new Response( execute( get ) )
+        }
+      }
+    }
+
+  }
+
+  static class Response extends BasicResponse {
+
+    Response(HttpResponse response) {
+      super(response)
+    }
+
+    public List&lt;String&gt; getNames() {
+      return JsonPath.read( string, &quot;\$.FileStatuses.FileStatus[*].pathSuffix&quot; )
+    }
+
+  }
+
+}
+</pre></div></div></div><div class="section"><h2>Groovy<a name="Groovy"></a></h2><p>The shell included in the distribution is basically an unmodified packaging of the Groovy shell. Therefore these command are functionally equivalent if you have Groovy installed.</p>
+<div class="source"><pre>java -jar bin/shell-0.2.0-SNAPSHOT.jar sample/SmokeTestJob.groovy
+groovy -cp bin/shell-0.2.0-SNAPSHOT.jar sample/SmokeTestJob.groovy
+</pre></div><p>The interactive shell isnt exactly equivalent. However the only difference is that the shell-0.2.0-SNAPSHOT.jar automatically executes some additional imports that are useful for the KnoxShell DSL. So these two sets of commands should be functionality equivalent. <b><i>However there is currently a class loading issue that prevents the groovysh command from working propertly.</i></b></p>
+<div class="source"><pre>java -jar bin/shell-0.2.0-SNAPSHOT.jar
+
+groovysh -cp bin/shell-0.2.0-SNAPSHOT.jar # BROKEN, CLASS LOADING ISSUE
+import org.apache.hadoop.gateway.shell.Hadoop
+import org.apache.hadoop.gateway.shell.hdfs.Hdfs
+import org.apache.hadoop.gateway.shell.job.Job
+import org.apache.hadoop.gateway.shell.workflow.Workflow
+import java.util.concurrent.TimeUnit
+</pre></div><p>Alternatively, you can use the Groovy Console which does not appear to have the same class loading issue.</p>
+<div class="source"><pre>groovyConsole -cp bin/shell-0.2.0-SNAPSHOT.jar
+
+import org.apache.hadoop.gateway.shell.Hadoop
+import org.apache.hadoop.gateway.shell.hdfs.Hdfs
+import org.apache.hadoop.gateway.shell.job.Job
+import org.apache.hadoop.gateway.shell.workflow.Workflow
+import java.util.concurrent.TimeUnit
+</pre></div><p>In addition because the DSL can be used via standard Groovy, the Groovy integrations in many popular IDEs (e.g. IntelliJ , Eclipse) can also be used. This makes it particularly nice to develop and execute scripts to interact with Hadoop. The code-completion feature in particular provides immense value. All that is required is to add the shell-0.2.0.jar to the projects class path.</p><p>There are a variety of Groovy tools that make it very easy to work with the standard interchange formats (i.e. JSON and XML). In Groovy the creation of XML or JSON is typically done via a builder and parsing done via a slurper. In addition once JSON or XML is slurped the GPath, an XPath like feature build into Groovy can be used to access data. * XML  * Markup Builder <a class="externalLink" href="http://groovy.codehaus.org/Creating+XML+using+Groovy&apos;s+MarkupBuilder">Overview</a>, <a class="externalLink" href="http://groovy.codehaus.org/api/groovy/xml/MarkupBuilder.html">API
 </a>  * XML Slurper <a class="externalLink" href="http://groovy.codehaus.org/Reading+XML+using+Groovy&apos;s+XmlSlurper">Overview</a>, <a class="externalLink" href="http://groovy.codehaus.org/api/groovy/util/XmlSlurper.html">API</a>  * XPath <a class="externalLink" href="http://groovy.codehaus.org/GPath">Overview</a>, [API] * JSON  * JSON Builder <a class="externalLink" href="http://groovy.codehaus.org/gapi/groovy/json/JsonBuilder.html">API</a>  * JSON Slurper <a class="externalLink" href="http://groovy.codehaus.org/gapi/groovy/json/JsonSlurper.html">API</a> * GPath <a class="externalLink" href="http://groovy.codehaus.org/GPath">Overview</a></p></div><div class="section"><h2>Disclaimer<a name="Disclaimer"></a></h2><p>The Apache Knox Gateway is an effort undergoing incubation at the Apache Software Foundation (ASF), sponsored by the Apache Incubator PMC.</p><p>Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, commu
 nications, and decision making process have stabilized in a manner consistent with other successful ASF projects.</p><p>While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.</p></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              <?xml version="1.0" encoding="UTF-8"?>
+<footer>
+  <div class="row span12">Apache Knox Gateway, Apache, the Apache feather logo and the Apache Knox Gateway project logos
+                are trademarks of The Apache Software Foundation.
+                All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div>
+  <div class="row span12">
+    <a href="privacy-policy.html">Privacy Policy</a>
+  </div>
+</footer>
+            </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>

Added: incubator/knox/site/contribute-process.html
URL: http://svn.apache.org/viewvc/incubator/knox/site/contribute-process.html?rev=1458550&view=auto
==============================================================================
--- incubator/knox/site/contribute-process.html (added)
+++ incubator/knox/site/contribute-process.html Tue Mar 19 22:40:38 2013
@@ -0,0 +1,175 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Mar 19, 2013 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title></title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20130319" />
+    <meta http-equiv="Content-Language" content="en" />
+                  
+        </head>
+  <body class="composite">
+    <div id="banner">
+                                      <a href="./" id="bannerLeft">
+                                                <img src="images/apache-logo.gif" alt="Knox Gateway" />
+                </a>
+                                            <a href=".." id="bannerRight">
+                                                <img src="images/apache-incubator-logo.png" alt="Apache Incubator" />
+                </a>
+            <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+                
+                <div class="xleft">
+                                  <a href="index.html" title="Knox">Knox</a>
+        &gt;
+    
+      </div>
+            <div class="xright">                    <a href="https://git-wip-us.apache.org/repos/asf/incubator-knox.git" class="externalLink" title="Git">Git</a>
+            |
+                        <a href="https://svn.apache.org/repos/asf/incubator/knox/site" class="externalLink" title="Svn">Svn</a>
+            |
+                        <a href="https://issues.apache.org/jira/browse/KNOX" class="externalLink" title="Jira">Jira</a>
+            |
+                        <a href="https://cwiki.apache.org/confluence/display/KNOX/Knox" class="externalLink" title="Wiki">Wiki</a>
+              
+                
+                &nbsp;| <span id="publishDate">Last Published: 2013-03-19</span>
+              &nbsp;| <span id="projectVersion">Version: 0.2.0-SNAPSHOT</span>
+            </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+                
+                                <h5>Knox</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="index.html" title="Welcome">Welcome</a>
+            </li>
+                  <li class="none">
+                          <a href="news.html" title="News">News</a>
+            </li>
+                  <li class="none">
+                          <a href="license.html" title="License">License</a>
+            </li>
+          </ul>
+                       <h5>Documentation</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="client.html" title="Client (KnoxShell)">Client (KnoxShell)</a>
+            </li>
+                  <li class="none">
+                          <a href="https://cwiki.apache.org/confluence/display/KNOX/Knox" class="externalLink" title="Wiki">Wiki</a>
+            </li>
+          </ul>
+                       <h5>Releases</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="readme-0-2-0.html" title="0.2.0 (coming soon)">0.2.0 (coming soon)</a>
+            </li>
+                  <li class="none">
+                          <a href="roadmap-0-3-0.html" title="0.3.0 (planning)">0.3.0 (planning)</a>
+            </li>
+          </ul>
+                       <h5>Processes</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="build-process.html" title="Build">Build</a>
+            </li>
+                  <li class="none">
+                          <a href="release-process.html" title="Release">Release</a>
+            </li>
+                  <li class="none">
+            <strong>Contribute</strong>
+          </li>
+          </ul>
+                       <h5>Resources</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="https://git-wip-us.apache.org/repos/asf/incubator-knox.git" class="externalLink" title="Source Code">Source Code</a>
+            </li>
+                  <li class="none">
+                          <a href="team-list.html" title="Project Team">Project Team</a>
+            </li>
+                  <li class="none">
+                          <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
+            </li>
+                  <li class="none">
+                          <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
+            </li>
+          </ul>
+                       <h5>ASF</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="http://www.apache.org/foundation/how-it-works.html" class="externalLink" title="How Apache Works">How Apache Works</a>
+            </li>
+                  <li class="none">
+                          <a href="http://www.apache.org/foundation/" class="externalLink" title="Foundation">Foundation</a>
+            </li>
+                  <li class="none">
+                          <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsoring Apache">Sponsoring Apache</a>
+            </li>
+                  <li class="none">
+                          <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks">Thanks</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+                
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <!-- -
+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. --><div class="section"><h2>Contribution Process<a name="Contribution_Process"></a></h2><p>TODO: Here we will describe how to contribute to the project.</p></div><div class="section"><h2>Disclaimer<a name="Disclaimer"></a></h2><p>The Apache Knox Gateway is an effort undergoing incubation at the Apache Software Foundation (ASF), sponsored by the Apache Incubator PMC.</p><p>Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects.</p><p>While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.</p></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              <?xml version="1.0" encoding="UTF-8"?>
+<footer>
+  <div class="row span12">Apache Knox Gateway, Apache, the Apache feather logo and the Apache Knox Gateway project logos
+                are trademarks of The Apache Software Foundation.
+                All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div>
+  <div class="row span12">
+    <a href="privacy-policy.html">Privacy Policy</a>
+  </div>
+</footer>
+            </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>

Modified: incubator/knox/site/issue-tracking.html
URL: http://svn.apache.org/viewvc/incubator/knox/site/issue-tracking.html?rev=1458550&r1=1458549&r2=1458550&view=diff
==============================================================================
--- incubator/knox/site/issue-tracking.html (original)
+++ incubator/knox/site/issue-tracking.html Tue Mar 19 22:40:38 2013
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Mar 14, 2013 -->
+<!-- Generated by Apache Maven Doxia at Mar 19, 2013 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20130314" />
+    <meta name="Date-Revision-yyyymmdd" content="20130319" />
     <meta http-equiv="Content-Language" content="en" />
                   
         </head>
@@ -36,12 +36,14 @@
       </div>
             <div class="xright">                    <a href="https://git-wip-us.apache.org/repos/asf/incubator-knox.git" class="externalLink" title="Git">Git</a>
             |
+                        <a href="https://svn.apache.org/repos/asf/incubator/knox/site" class="externalLink" title="Svn">Svn</a>
+            |
                         <a href="https://issues.apache.org/jira/browse/KNOX" class="externalLink" title="Jira">Jira</a>
             |
                         <a href="https://cwiki.apache.org/confluence/display/KNOX/Knox" class="externalLink" title="Wiki">Wiki</a>
               
                 
-                &nbsp;| <span id="publishDate">Last Published: 2013-03-14</span>
+                &nbsp;| <span id="publishDate">Last Published: 2013-03-19</span>
               &nbsp;| <span id="projectVersion">Version: 0.2.0-SNAPSHOT</span>
             </div>
       <div class="clear">
@@ -61,16 +63,39 @@
                           <a href="news.html" title="News">News</a>
             </li>
                   <li class="none">
-                          <a href="license.html" title="Project License">Project License</a>
+                          <a href="license.html" title="License">License</a>
             </li>
           </ul>
-                       <h5>Releases</h5>
-                                 <h5>Documentation</h5>
+                       <h5>Documentation</h5>
                   <ul>
                   <li class="none">
+                          <a href="client.html" title="Client (KnoxShell)">Client (KnoxShell)</a>
+            </li>
+                  <li class="none">
                           <a href="https://cwiki.apache.org/confluence/display/KNOX/Knox" class="externalLink" title="Wiki">Wiki</a>
             </li>
           </ul>
+                       <h5>Releases</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="readme-0-2-0.html" title="0.2.0 (coming soon)">0.2.0 (coming soon)</a>
+            </li>
+                  <li class="none">
+                          <a href="roadmap-0-3-0.html" title="0.3.0 (planning)">0.3.0 (planning)</a>
+            </li>
+          </ul>
+                       <h5>Processes</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="build-process.html" title="Build">Build</a>
+            </li>
+                  <li class="none">
+                          <a href="release-process.html" title="Release">Release</a>
+            </li>
+                  <li class="none">
+                          <a href="contribute-process.html" title="Contribute">Contribute</a>
+            </li>
+          </ul>
                        <h5>Resources</h5>
                   <ul>
                   <li class="none">
@@ -86,13 +111,13 @@
             <strong>Issue Tracking</strong>
           </li>
           </ul>
-                       <h5>ADF</h5>
+                       <h5>ASF</h5>
                   <ul>
                   <li class="none">
                           <a href="http://www.apache.org/foundation/how-it-works.html" class="externalLink" title="How Apache Works">How Apache Works</a>
             </li>
                   <li class="none">
-                          <a href="http://www.apache.org/foundation/" class="externalLink" title="Foundating">Foundating</a>
+                          <a href="http://www.apache.org/foundation/" class="externalLink" title="Foundation">Foundation</a>
             </li>
                   <li class="none">
                           <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsoring Apache">Sponsoring Apache</a>
@@ -124,7 +149,7 @@
                 are trademarks of The Apache Software Foundation.
                 All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div>
   <div class="row span12">
-    <a href="http://incubator.apache.org/knox/privacy-policy.html">Privacy Policy</a>
+    <a href="privacy-policy.html">Privacy Policy</a>
   </div>
 </footer>
             </div>

Modified: incubator/knox/site/license.html
URL: http://svn.apache.org/viewvc/incubator/knox/site/license.html?rev=1458550&r1=1458549&r2=1458550&view=diff
==============================================================================
--- incubator/knox/site/license.html (original)
+++ incubator/knox/site/license.html Tue Mar 19 22:40:38 2013
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Mar 14, 2013 -->
+<!-- Generated by Apache Maven Doxia at Mar 19, 2013 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20130314" />
+    <meta name="Date-Revision-yyyymmdd" content="20130319" />
     <meta http-equiv="Content-Language" content="en" />
                   
         </head>
@@ -36,12 +36,14 @@
       </div>
             <div class="xright">                    <a href="https://git-wip-us.apache.org/repos/asf/incubator-knox.git" class="externalLink" title="Git">Git</a>
             |
+                        <a href="https://svn.apache.org/repos/asf/incubator/knox/site" class="externalLink" title="Svn">Svn</a>
+            |
                         <a href="https://issues.apache.org/jira/browse/KNOX" class="externalLink" title="Jira">Jira</a>
             |
                         <a href="https://cwiki.apache.org/confluence/display/KNOX/Knox" class="externalLink" title="Wiki">Wiki</a>
               
                 
-                &nbsp;| <span id="publishDate">Last Published: 2013-03-14</span>
+                &nbsp;| <span id="publishDate">Last Published: 2013-03-19</span>
               &nbsp;| <span id="projectVersion">Version: 0.2.0-SNAPSHOT</span>
             </div>
       <div class="clear">
@@ -61,16 +63,39 @@
                           <a href="news.html" title="News">News</a>
             </li>
                   <li class="none">
-            <strong>Project License</strong>
+            <strong>License</strong>
           </li>
           </ul>
-                       <h5>Releases</h5>
-                                 <h5>Documentation</h5>
+                       <h5>Documentation</h5>
                   <ul>
                   <li class="none">
+                          <a href="client.html" title="Client (KnoxShell)">Client (KnoxShell)</a>
+            </li>
+                  <li class="none">
                           <a href="https://cwiki.apache.org/confluence/display/KNOX/Knox" class="externalLink" title="Wiki">Wiki</a>
             </li>
           </ul>
+                       <h5>Releases</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="readme-0-2-0.html" title="0.2.0 (coming soon)">0.2.0 (coming soon)</a>
+            </li>
+                  <li class="none">
+                          <a href="roadmap-0-3-0.html" title="0.3.0 (planning)">0.3.0 (planning)</a>
+            </li>
+          </ul>
+                       <h5>Processes</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="build-process.html" title="Build">Build</a>
+            </li>
+                  <li class="none">
+                          <a href="release-process.html" title="Release">Release</a>
+            </li>
+                  <li class="none">
+                          <a href="contribute-process.html" title="Contribute">Contribute</a>
+            </li>
+          </ul>
                        <h5>Resources</h5>
                   <ul>
                   <li class="none">
@@ -86,13 +111,13 @@
                           <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
             </li>
           </ul>
-                       <h5>ADF</h5>
+                       <h5>ASF</h5>
                   <ul>
                   <li class="none">
                           <a href="http://www.apache.org/foundation/how-it-works.html" class="externalLink" title="How Apache Works">How Apache Works</a>
             </li>
                   <li class="none">
-                          <a href="http://www.apache.org/foundation/" class="externalLink" title="Foundating">Foundating</a>
+                          <a href="http://www.apache.org/foundation/" class="externalLink" title="Foundation">Foundation</a>
             </li>
                   <li class="none">
                           <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsoring Apache">Sponsoring Apache</a>
@@ -326,7 +351,7 @@
                 are trademarks of The Apache Software Foundation.
                 All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div>
   <div class="row span12">
-    <a href="http://incubator.apache.org/knox/privacy-policy.html">Privacy Policy</a>
+    <a href="privacy-policy.html">Privacy Policy</a>
   </div>
 </footer>
             </div>

Modified: incubator/knox/site/mail-lists.html
URL: http://svn.apache.org/viewvc/incubator/knox/site/mail-lists.html?rev=1458550&r1=1458549&r2=1458550&view=diff
==============================================================================
--- incubator/knox/site/mail-lists.html (original)
+++ incubator/knox/site/mail-lists.html Tue Mar 19 22:40:38 2013
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Mar 14, 2013 -->
+<!-- Generated by Apache Maven Doxia at Mar 19, 2013 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20130314" />
+    <meta name="Date-Revision-yyyymmdd" content="20130319" />
     <meta http-equiv="Content-Language" content="en" />
                   
         </head>
@@ -36,12 +36,14 @@
       </div>
             <div class="xright">                    <a href="https://git-wip-us.apache.org/repos/asf/incubator-knox.git" class="externalLink" title="Git">Git</a>
             |
+                        <a href="https://svn.apache.org/repos/asf/incubator/knox/site" class="externalLink" title="Svn">Svn</a>
+            |
                         <a href="https://issues.apache.org/jira/browse/KNOX" class="externalLink" title="Jira">Jira</a>
             |
                         <a href="https://cwiki.apache.org/confluence/display/KNOX/Knox" class="externalLink" title="Wiki">Wiki</a>
               
                 
-                &nbsp;| <span id="publishDate">Last Published: 2013-03-14</span>
+                &nbsp;| <span id="publishDate">Last Published: 2013-03-19</span>
               &nbsp;| <span id="projectVersion">Version: 0.2.0-SNAPSHOT</span>
             </div>
       <div class="clear">
@@ -61,16 +63,39 @@
                           <a href="news.html" title="News">News</a>
             </li>
                   <li class="none">
-                          <a href="license.html" title="Project License">Project License</a>
+                          <a href="license.html" title="License">License</a>
             </li>
           </ul>
-                       <h5>Releases</h5>
-                                 <h5>Documentation</h5>
+                       <h5>Documentation</h5>
                   <ul>
                   <li class="none">
+                          <a href="client.html" title="Client (KnoxShell)">Client (KnoxShell)</a>
+            </li>
+                  <li class="none">
                           <a href="https://cwiki.apache.org/confluence/display/KNOX/Knox" class="externalLink" title="Wiki">Wiki</a>
             </li>
           </ul>
+                       <h5>Releases</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="readme-0-2-0.html" title="0.2.0 (coming soon)">0.2.0 (coming soon)</a>
+            </li>
+                  <li class="none">
+                          <a href="roadmap-0-3-0.html" title="0.3.0 (planning)">0.3.0 (planning)</a>
+            </li>
+          </ul>
+                       <h5>Processes</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="build-process.html" title="Build">Build</a>
+            </li>
+                  <li class="none">
+                          <a href="release-process.html" title="Release">Release</a>
+            </li>
+                  <li class="none">
+                          <a href="contribute-process.html" title="Contribute">Contribute</a>
+            </li>
+          </ul>
                        <h5>Resources</h5>
                   <ul>
                   <li class="none">
@@ -86,13 +111,13 @@
                           <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
             </li>
           </ul>
-                       <h5>ADF</h5>
+                       <h5>ASF</h5>
                   <ul>
                   <li class="none">
                           <a href="http://www.apache.org/foundation/how-it-works.html" class="externalLink" title="How Apache Works">How Apache Works</a>
             </li>
                   <li class="none">
-                          <a href="http://www.apache.org/foundation/" class="externalLink" title="Foundating">Foundating</a>
+                          <a href="http://www.apache.org/foundation/" class="externalLink" title="Foundation">Foundation</a>
             </li>
                   <li class="none">
                           <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsoring Apache">Sponsoring Apache</a>
@@ -124,7 +149,7 @@
                 are trademarks of The Apache Software Foundation.
                 All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div>
   <div class="row span12">
-    <a href="http://incubator.apache.org/knox/privacy-policy.html">Privacy Policy</a>
+    <a href="privacy-policy.html">Privacy Policy</a>
   </div>
 </footer>
             </div>

Added: incubator/knox/site/privacy-policy.html
URL: http://svn.apache.org/viewvc/incubator/knox/site/privacy-policy.html?rev=1458550&view=auto
==============================================================================
--- incubator/knox/site/privacy-policy.html (added)
+++ incubator/knox/site/privacy-policy.html Tue Mar 19 22:40:38 2013
@@ -0,0 +1,183 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Mar 19, 2013 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title></title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20130319" />
+    <meta http-equiv="Content-Language" content="en" />
+                  
+        </head>
+  <body class="composite">
+    <div id="banner">
+                                      <a href="./" id="bannerLeft">
+                                                <img src="images/apache-logo.gif" alt="Knox Gateway" />
+                </a>
+                                            <a href=".." id="bannerRight">
+                                                <img src="images/apache-incubator-logo.png" alt="Apache Incubator" />
+                </a>
+            <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+                
+                <div class="xleft">
+                                  <a href="index.html" title="Knox">Knox</a>
+        &gt;
+    
+      </div>
+            <div class="xright">                    <a href="https://git-wip-us.apache.org/repos/asf/incubator-knox.git" class="externalLink" title="Git">Git</a>
+            |
+                        <a href="https://svn.apache.org/repos/asf/incubator/knox/site" class="externalLink" title="Svn">Svn</a>
+            |
+                        <a href="https://issues.apache.org/jira/browse/KNOX" class="externalLink" title="Jira">Jira</a>
+            |
+                        <a href="https://cwiki.apache.org/confluence/display/KNOX/Knox" class="externalLink" title="Wiki">Wiki</a>
+              
+                
+                &nbsp;| <span id="publishDate">Last Published: 2013-03-19</span>
+              &nbsp;| <span id="projectVersion">Version: 0.2.0-SNAPSHOT</span>
+            </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+                
+                                <h5>Knox</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="index.html" title="Welcome">Welcome</a>
+            </li>
+                  <li class="none">
+                          <a href="news.html" title="News">News</a>
+            </li>
+                  <li class="none">
+                          <a href="license.html" title="License">License</a>
+            </li>
+          </ul>
+                       <h5>Documentation</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="client.html" title="Client (KnoxShell)">Client (KnoxShell)</a>
+            </li>
+                  <li class="none">
+                          <a href="https://cwiki.apache.org/confluence/display/KNOX/Knox" class="externalLink" title="Wiki">Wiki</a>
+            </li>
+          </ul>
+                       <h5>Releases</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="readme-0-2-0.html" title="0.2.0 (coming soon)">0.2.0 (coming soon)</a>
+            </li>
+                  <li class="none">
+                          <a href="roadmap-0-3-0.html" title="0.3.0 (planning)">0.3.0 (planning)</a>
+            </li>
+          </ul>
+                       <h5>Processes</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="build-process.html" title="Build">Build</a>
+            </li>
+                  <li class="none">
+                          <a href="release-process.html" title="Release">Release</a>
+            </li>
+                  <li class="none">
+                          <a href="contribute-process.html" title="Contribute">Contribute</a>
+            </li>
+          </ul>
+                       <h5>Resources</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="https://git-wip-us.apache.org/repos/asf/incubator-knox.git" class="externalLink" title="Source Code">Source Code</a>
+            </li>
+                  <li class="none">
+                          <a href="team-list.html" title="Project Team">Project Team</a>
+            </li>
+                  <li class="none">
+                          <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
+            </li>
+                  <li class="none">
+                          <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
+            </li>
+          </ul>
+                       <h5>ASF</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="http://www.apache.org/foundation/how-it-works.html" class="externalLink" title="How Apache Works">How Apache Works</a>
+            </li>
+                  <li class="none">
+                          <a href="http://www.apache.org/foundation/" class="externalLink" title="Foundation">Foundation</a>
+            </li>
+                  <li class="none">
+                          <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsoring Apache">Sponsoring Apache</a>
+            </li>
+                  <li class="none">
+                          <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks">Thanks</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+                
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <!-- -
+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. --><div class="section"><h2>Privacy Policy<a name="Privacy_Policy"></a></h2><p>Information about your use of this website is collected using server access logs and a tracking cookie. The collected information consists of the following:</p>
+<ol style="list-style-type: decimal">
+  <li>The IP address from which you access the website;</li>
+  <li>The type of browser and operating system you use to access our site;</li>
+  <li>The date and time you access our site;</li>
+  <li>The pages you visit; and</li>
+  <li>The addresses of pages from where you followed a link to our site.</li>
+</ol><p>Part of this information is gathered using a tracking cookie set by the <a class="externalLink" href="http://www.google.com/analytics/">Google Analytics</a> service and handled by Google as described in their <a class="externalLink" href="http://www.google.com/privacy.html">privacy policy</a>. See your browser documentation for instructions on how to disable the cookie if you prefer not to share this data with Google.</p><p>We use the gathered information to help us make our site more useful to visitors and to better understand how and when our site is used. We do not track or collect personally identifiable information or associate gathered data with any personally identifying information from other sources.</p><p>By using this website, you consent to the collection of this data in the manner and for the purpose described above.</p></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              <?xml version="1.0" encoding="UTF-8"?>
+<footer>
+  <div class="row span12">Apache Knox Gateway, Apache, the Apache feather logo and the Apache Knox Gateway project logos
+                are trademarks of The Apache Software Foundation.
+                All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div>
+  <div class="row span12">
+    <a href="privacy-policy.html">Privacy Policy</a>
+  </div>
+</footer>
+            </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>