You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aurora.apache.org by jf...@apache.org on 2014/12/17 19:30:34 UTC

[09/18] incubator-aurora-website git commit: Initial move of website over to git

http://git-wip-us.apache.org/repos/asf/incubator-aurora-website/blob/c43a3a2d/publish/documentation/latest/tutorial/index.html
----------------------------------------------------------------------
diff --git a/publish/documentation/latest/tutorial/index.html b/publish/documentation/latest/tutorial/index.html
new file mode 100644
index 0000000..7464a75
--- /dev/null
+++ b/publish/documentation/latest/tutorial/index.html
@@ -0,0 +1,327 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+	<title>Apache Aurora</title>
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
+    <link href="/assets/css/main.css" rel="stylesheet">
+	<!-- Analytics -->
+	<script type="text/javascript">
+		  var _gaq = _gaq || [];
+		  _gaq.push(['_setAccount', 'UA-45879646-1']);
+		  _gaq.push(['_setDomainName', 'apache.org']);
+		  _gaq.push(['_trackPageview']);
+
+		  (function() {
+		    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+		    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+		    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+		  })();
+	</script>
+  </head>
+  <body>
+	  
+        <div class="container-fluid section-header">
+  <div class="container">
+    <div class="nav nav-bar">
+    <a href="/"><img src="/assets/img/aurora_logo_white_bkg.svg" width="300" alt="Transparent Apache Aurora logo with dark background"/></a>
+	<ul class="nav navbar-nav navbar-right">
+      <li><a href="/documentation/latest/">Documentation</a></li>
+      <li><a href="/community/">Community</a></li>
+      <li><a href="/downloads/">Downloads</a></li>
+      <li><a href="/blog/">Blog</a></li>
+    </ul>
+    </div>
+  </div>
+</div>	
+  	  <div class="container-fluid">
+  	  	<div class="container content">
+          <h2 id="aurora-tutorial">Aurora Tutorial</h2>
+
+<ul>
+<li><a href="#introduction">Introduction</a></li>
+<li><a href="#setup-install-aurora">Setup: Install Aurora</a></li>
+<li><a href="#the-script">The Script</a></li>
+<li><a href="#aurora-configuration">Aurora Configuration</a></li>
+<li><a href="#whats-going-on-in-that-configuration-file">What&rsquo;s Going On In That Configuration File?</a></li>
+<li><a href="#creating-the-job">Creating the Job</a></li>
+<li><a href="#watching-the-job-run">Watching the Job Run</a></li>
+<li><a href="#cleanup">Cleanup</a></li>
+<li><a href="#next-steps">Next Steps</a></li>
+</ul>
+
+<h2 id="introduction">Introduction</h2>
+
+<p>This tutorial shows how to use the Aurora scheduler to run (and
+&ldquo;<code>printf-debug</code>&rdquo;) a hello world program on Mesos. The operational
+hierarchy is:</p>
+
+<ul>
+<li>Aurora manages and schedules jobs for Mesos to run.</li>
+<li>Mesos manages the individual tasks that make up a job.</li>
+<li>Thermos manages the individual processes that make up a task.</li>
+</ul>
+
+<p>This is the recommended first Aurora users document to read to start
+getting up to speed on the system.</p>
+
+<p>To get help, email questions to the Aurora Developer List,
+<a href="mailto:dev@aurora.incubator.apache.org">dev@aurora.incubator.apache.org</a></p>
+
+<h2 id="setup:-install-aurora">Setup: Install Aurora</h2>
+
+<p>You use the Aurora client and web UI to interact with Aurora jobs. To
+install it locally, see <a href="/documentation/latest/vagrant/">vagrant.md</a>. The remainder of this
+Tutorial assumes you are running Aurora using Vagrant.  Unless otherwise stated,
+all commands are to be run from the root of the aurora repository clone.</p>
+
+<h2 id="the-script">The Script</h2>
+
+<p>Our &ldquo;hello world&rdquo; application is a simple Python script that loops
+forever, displaying the time every few seconds. Copy the code below and
+put it in a file named <code>hello_world.py</code> in the root of your Aurora repository clone (Note:
+this directory is the same as <code>/vagrant</code> inside the Vagrant VMs).</p>
+
+<p>The script has an intentional bug, which we will explain later on.</p>
+
+<!-- NOTE: If you are changing this file, be sure to also update examples/vagrant/test_tutorial.sh.
+-->
+<pre class="highlight python"><span class="kn">import</span> <span class="nn">sys</span>
+<span class="kn">import</span> <span class="nn">time</span>
+
+<span class="k">def</span> <span class="nf">main</span><span class="p">(</span><span class="n">argv</span><span class="p">):</span>
+  <span class="n">SLEEP_DELAY</span> <span class="o">=</span> <span class="mi">10</span>
+  <span class="c"># Python ninjas - ignore this blatant bug.</span>
+  <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">xrang</span><span class="p">(</span><span class="mi">100</span><span class="p">):</span>
+    <span class="k">print</span><span class="p">(</span><span class="s">&quot;Hello world! The time is now: </span><span class="si">%</span><span class="s">s. Sleeping for </span><span class="si">%</span><span class="s">d secs&quot;</span> <span class="o">%</span> <span class="p">(</span>
+      <span class="n">time</span><span class="o">.</span><span class="n">asctime</span><span class="p">(),</span> <span class="n">SLEEP_DELAY</span><span class="p">))</span>
+    <span class="n">sys</span><span class="o">.</span><span class="n">stdout</span><span class="o">.</span><span class="n">flush</span><span class="p">()</span>
+    <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="n">SLEEP_DELAY</span><span class="p">)</span>
+
+<span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">&quot;__main__&quot;</span><span class="p">:</span>
+  <span class="n">main</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">)</span>
+</pre>
+<h2 id="aurora-configuration">Aurora Configuration</h2>
+
+<p>Once we have our script/program, we need to create a <em>configuration
+file</em> that tells Aurora how to manage and launch our Job. Save the below
+code in the file <code>hello_world.aurora</code>.</p>
+
+<!-- NOTE: If you are changing this file, be sure to also update examples/vagrant/test_tutorial.sh.
+-->
+<pre class="highlight python"><span class="n">pkg_path</span> <span class="o">=</span> <span class="s">&#39;/vagrant/hello_world.py&#39;</span>
+
+<span class="c"># we use a trick here to make the configuration change with</span>
+<span class="c"># the contents of the file, for simplicity.  in a normal setting, packages would be</span>
+<span class="c"># versioned, and the version number would be changed in the configuration.</span>
+<span class="kn">import</span> <span class="nn">hashlib</span>
+<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">pkg_path</span><span class="p">,</span> <span class="s">&#39;rb&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
+  <span class="n">pkg_checksum</span> <span class="o">=</span> <span class="nb">hash</span><span class="n">lib</span><span class="o">.</span><span class="n">md5</span><span class="p">(</span><span class="n">f</span><span class="o">.</span><span class="n">read</span><span class="p">())</span><span class="o">.</span><span class="nb">hex</span><span class="n">digest</span><span class="p">()</span>
+
+<span class="c"># copy hello_world.py into the local sandbox</span>
+<span class="n">install</span> <span class="o">=</span> <span class="n">Process</span><span class="p">(</span>
+  <span class="n">name</span> <span class="o">=</span> <span class="s">&#39;fetch_package&#39;</span><span class="p">,</span>
+  <span class="n">cmdline</span> <span class="o">=</span> <span class="s">&#39;cp </span><span class="si">%</span><span class="s">s . &amp;&amp; echo </span><span class="si">%</span><span class="s">s &amp;&amp; chmod +x hello_world.py&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">pkg_path</span><span class="p">,</span> <span class="n">pkg_checksum</span><span class="p">))</span>
+
+<span class="c"># run the script</span>
+<span class="n">hello_world</span> <span class="o">=</span> <span class="n">Process</span><span class="p">(</span>
+  <span class="n">name</span> <span class="o">=</span> <span class="s">&#39;hello_world&#39;</span><span class="p">,</span>
+  <span class="n">cmdline</span> <span class="o">=</span> <span class="s">&#39;python hello_world.py&#39;</span><span class="p">)</span>
+
+<span class="c"># describe the task</span>
+<span class="n">hello_world_task</span> <span class="o">=</span> <span class="n">SequentialTask</span><span class="p">(</span>
+  <span class="n">processes</span> <span class="o">=</span> <span class="p">[</span><span class="n">install</span><span class="p">,</span> <span class="n">hello_world</span><span class="p">],</span>
+  <span class="n">resources</span> <span class="o">=</span> <span class="n">Resources</span><span class="p">(</span><span class="n">cpu</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span> <span class="n">ram</span> <span class="o">=</span> <span class="mi">1</span><span class="o">*</span><span class="n">MB</span><span class="p">,</span> <span class="n">disk</span><span class="o">=</span><span class="mi">8</span><span class="o">*</span><span class="n">MB</span><span class="p">))</span>
+
+<span class="n">jobs</span> <span class="o">=</span> <span class="p">[</span>
+  <span class="n">Service</span><span class="p">(</span><span class="n">cluster</span> <span class="o">=</span> <span class="s">&#39;devcluster&#39;</span><span class="p">,</span>
+          <span class="n">environment</span> <span class="o">=</span> <span class="s">&#39;devel&#39;</span><span class="p">,</span>
+          <span class="n">role</span> <span class="o">=</span> <span class="s">&#39;www-data&#39;</span><span class="p">,</span>
+          <span class="n">name</span> <span class="o">=</span> <span class="s">&#39;hello_world&#39;</span><span class="p">,</span>
+          <span class="n">task</span> <span class="o">=</span> <span class="n">hello_world_task</span><span class="p">)</span>
+<span class="p">]</span>
+</pre>
+<p>For more about Aurora configuration files, see the <a href="/documentation/latest/configuration-tutorial/">Configuration
+Tutorial</a> and the <a href="/documentation/latest/configuration-reference/">Aurora + Thermos
+Reference</a> (preferably after finishing this
+tutorial).</p>
+
+<h2 id="what&#39;s-going-on-in-that-configuration-file?">What&rsquo;s Going On In That Configuration File?</h2>
+
+<p>More than you might think.</p>
+
+<ol>
+<li><p>From a &ldquo;big picture&rdquo; viewpoint, it first defines two
+Processes. Then it defines a Task that runs the two Processes in the
+order specified in the Task definition, as well as specifying what
+computational and memory resources are available for them.  Finally,
+it defines a Job that will schedule the Task on available and suitable
+machines. This Job is the sole member of a list of Jobs; you can
+specify more than one Job in a config file.</p></li>
+<li><p>At the Process level, it specifies how to get your code into the
+local sandbox in which it will run. It then specifies how the code is
+actually run once the second Process starts.</p></li>
+</ol>
+
+<h2 id="creating-the-job">Creating the Job</h2>
+
+<p>We&rsquo;re ready to launch our job! To do so, we use the Aurora Client to
+issue a Job creation request to the Aurora scheduler.</p>
+
+<p>Many Aurora Client commands take a <em>job key</em> argument, which uniquely
+identifies a Job. A job key consists of four parts, each separated by a
+&ldquo;/&rdquo;. The four parts are  <code>&lt;cluster&gt;/&lt;role&gt;/&lt;environment&gt;/&lt;jobname&gt;</code>
+in that order. When comparing two job keys, if any of the
+four parts is different from its counterpart in the other key, then the
+two job keys identify two separate jobs. If all four values are
+identical, the job keys identify the same job.</p>
+
+<p><code>/etc/aurora/clusters.json</code> within the Aurora scheduler has the available
+cluster names. For Vagrant, from the top-level of your Aurora repository clone,
+do:</p>
+<pre class="highlight text">$ vagrant ssh
+</pre>
+<p>Followed by:</p>
+<pre class="highlight text">vagrant@precise64:~$ cat /etc/aurora/clusters.json
+</pre>
+<p>You&rsquo;ll see something like:</p>
+<pre class="highlight javascript"><span class="p">[{</span>
+  <span class="s2">&quot;name&quot;</span><span class="err">:</span> <span class="s2">&quot;devcluster&quot;</span><span class="p">,</span>
+  <span class="s2">&quot;zk&quot;</span><span class="err">:</span> <span class="s2">&quot;192.168.33.7&quot;</span><span class="p">,</span>
+  <span class="s2">&quot;scheduler_zk_path&quot;</span><span class="err">:</span> <span class="s2">&quot;/aurora/scheduler&quot;</span><span class="p">,</span>
+  <span class="s2">&quot;auth_mechanism&quot;</span><span class="err">:</span> <span class="s2">&quot;UNAUTHENTICATED&quot;</span>
+<span class="p">}]</span>
+</pre>
+<p>Use a <code>name</code> value for your job key&rsquo;s cluster value.</p>
+
+<p>Role names are user accounts existing on the slave machines. If you don&rsquo;t know what accounts
+are available, contact your sysadmin.</p>
+
+<p>Environment names are namespaces; you can count on <code>prod</code>, <code>devel</code> and <code>test</code> existing.</p>
+
+<p>The Aurora Client command that actually runs our Job is <code>aurora create</code>. It creates a Job as
+specified by its job key and configuration file arguments and runs it.</p>
+<pre class="highlight text">aurora create &lt;cluster&gt;/&lt;role&gt;/&lt;environment&gt;/&lt;jobname&gt; &lt;config_file&gt;
+</pre>
+<p>Or for our example:</p>
+<pre class="highlight text">aurora create devcluster/www-data/devel/hello_world /vagrant/hello_world.aurora
+</pre>
+<p>This returns:</p>
+<pre class="highlight text">$ vagrant ssh
+Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-23-generic x86_64)
+
+ * Documentation:  https://help.ubuntu.com/
+Welcome to your Vagrant-built virtual machine.
+Last login: Fri Jan  3 02:18:55 2014 from 10.0.2.2
+vagrant@precise64:~$ aurora create devcluster/www-data/devel/hello_world \
+    /vagrant/hello_world.aurora
+ INFO] Creating job hello_world
+ INFO] Response from scheduler: OK (message: 1 new tasks pending for job
+  www-data/devel/hello_world)
+ INFO] Job url: http://precise64:8081/scheduler/www-data/devel/hello_world
+</pre>
+<h2 id="watching-the-job-run">Watching the Job Run</h2>
+
+<p>Now that our job is running, let&rsquo;s see what it&rsquo;s doing. Access the
+scheduler web interface at <code>http://$scheduler_hostname:$scheduler_port/scheduler</code>
+Or when using <code>vagrant</code>, <code>http://192.168.33.7:8081/scheduler</code>
+First we see what Jobs are scheduled:</p>
+
+<p><img alt="Scheduled Jobs" src="../images/ScheduledJobs.png" /></p>
+
+<p>Click on your user name, which in this case was <code>www-data</code>, and we see the Jobs associated
+with that role:</p>
+
+<p><img alt="Role Jobs" src="../images/RoleJobs.png" /></p>
+
+<p>If you click on your <code>hello_world</code> Job, you&rsquo;ll see:</p>
+
+<p><img alt="hello_world Job" src="../images/HelloWorldJob.png" /></p>
+
+<p>Oops, looks like our first job didn&rsquo;t quite work! The task failed, so we have
+to figure out what went wrong.</p>
+
+<p>Access the page for our Task by clicking on its host.</p>
+
+<p><img alt="Task page" src="../images/TaskBreakdown.png" /></p>
+
+<p>Once there, we see that the
+<code>hello_world</code> process failed. The Task page captures the standard error and
+standard output streams and makes them available. Clicking through
+to <code>stderr</code> on the failed <code>hello_world</code> process, we see what happened.</p>
+
+<p><img alt="stderr page" src="../images/stderr.png" /></p>
+
+<p>It looks like we made a typo in our Python script. We wanted <code>xrange</code>,
+not <code>xrang</code>. Edit the <code>hello_world.py</code> script to use the correct function and
+we will try again.</p>
+<pre class="highlight text">aurora update devcluster/www-data/devel/hello_world /vagrant/hello_world.aurora
+</pre>
+<p>This time, the task comes up, we inspect the page, and see that the
+<code>hello_world</code> process is running.</p>
+
+<p><img alt="Running Task page" src="../images/runningtask.png" /></p>
+
+<p>We then inspect the output by clicking on <code>stdout</code> and see our process&#39;
+output:</p>
+
+<p><img alt="stdout page" src="../images/stdout.png" /></p>
+
+<h2 id="cleanup">Cleanup</h2>
+
+<p>Now that we&rsquo;re done, we kill the job using the Aurora client:</p>
+<pre class="highlight text">vagrant@precise64:~$ aurora killall devcluster/www-data/devel/hello_world
+ INFO] Killing tasks for job: devcluster/www-data/devel/hello_world
+ INFO] Response from scheduler: OK (message: Tasks killed.)
+ INFO] Job url: http://precise64:8081/scheduler/www-data/devel/hello_world
+vagrant@precise64:~$
+</pre>
+<p>The job page now shows the <code>hello_world</code> tasks as completed.</p>
+
+<p><img alt="Killed Task page" src="../images/killedtask.png" /></p>
+
+<h2 id="next-steps">Next Steps</h2>
+
+<p>Now that you&rsquo;ve finished this Tutorial, you should read or do the following:</p>
+
+<ul>
+<li><a href="/documentation/latest/configuration-tutorial/">The Aurora Configuration Tutorial</a>, which provides more examples
+and best practices for writing Aurora configurations. You should also look at
+the <a href="/documentation/latest/configuration-reference/">Aurora + Thermos Configuration Reference</a>.</li>
+<li>The <a href="/documentation/latest/user-guide/">Aurora User Guide</a> provides an overview of how Aurora, Mesos, and
+Thermos work &ldquo;under the hood&rdquo;.</li>
+<li>Explore the Aurora Client - use the <code>aurora help</code> subcommand, and read the
+<a href="/documentation/latest/client-commands/">Aurora Client Commands</a> document.</li>
+</ul>
+
+  		</div>
+  	  </div>
+	  
+      	<div class="container-fluid section-footer buffer">
+      <div class="container">
+        <div class="row">
+		  <div class="col-md-2 col-md-offset-1"><h3>Quick Links</h3>
+		  <ul>
+		    <li><a href="/downloads/">Downloads</a></li>
+            <li><a href="/community/">Mailing Lists</a></li>
+			<li><a href="http://issues.apache.org/jira/browse/AURORA">Issue Tracking</a></li>
+			<li><a href="/documentation/latest/contributing/">How To Contribute</a></li>     
+		  </ul>
+	      </div>
+		  <div class="col-md-2"><h3>The ASF</h3>
+          <ul>
+            <li><a href="http://www.apache.org/licenses/">License</a></li>
+            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>  
+            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+            <li><a href="http://www.apache.org/security/">Security</a></li>
+          </ul>
+		  </div>
+		  <div class="col-md-6">
+		    <p class="disclaimer">Apache Aurora is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. 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. 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>
+			<p class="disclaimer">Copyright 2014 <a href="http://www.apache.org/">Apache Software Foundation</a>. Licensed under the <a href="http://www.apache.org/licenses/">Apache License v2.0</a>. The <a href="https://www.flickr.com/photos/trondk/12706051375/">Aurora Borealis IX photo</a> displayed on the homepage is available under a <a href="https://creativecommons.org/licenses/by-nc-nd/2.0/">Creative Commons BY-NC-ND 2.0 license</a>. Apache, Apache Aurora, and the Apache feather logo are trademarks of The Apache Software Foundation.</p>
+        </div>
+      </div>
+    </div>
+	</body>
+</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-aurora-website/blob/c43a3a2d/publish/documentation/latest/user-guide/index.html
----------------------------------------------------------------------
diff --git a/publish/documentation/latest/user-guide/index.html b/publish/documentation/latest/user-guide/index.html
new file mode 100644
index 0000000..2e1eabc
--- /dev/null
+++ b/publish/documentation/latest/user-guide/index.html
@@ -0,0 +1,462 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+	<title>Apache Aurora</title>
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
+    <link href="/assets/css/main.css" rel="stylesheet">
+	<!-- Analytics -->
+	<script type="text/javascript">
+		  var _gaq = _gaq || [];
+		  _gaq.push(['_setAccount', 'UA-45879646-1']);
+		  _gaq.push(['_setDomainName', 'apache.org']);
+		  _gaq.push(['_trackPageview']);
+
+		  (function() {
+		    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+		    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+		    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+		  })();
+	</script>
+  </head>
+  <body>
+	  
+        <div class="container-fluid section-header">
+  <div class="container">
+    <div class="nav nav-bar">
+    <a href="/"><img src="/assets/img/aurora_logo_white_bkg.svg" width="300" alt="Transparent Apache Aurora logo with dark background"/></a>
+	<ul class="nav navbar-nav navbar-right">
+      <li><a href="/documentation/latest/">Documentation</a></li>
+      <li><a href="/community/">Community</a></li>
+      <li><a href="/downloads/">Downloads</a></li>
+      <li><a href="/blog/">Blog</a></li>
+    </ul>
+    </div>
+  </div>
+</div>	
+  	  <div class="container-fluid">
+  	  	<div class="container content">
+          <h2 id="aurora-user-guide">Aurora User Guide</h2>
+
+<ul>
+<li><a href="#user-content-overview">Overview</a></li>
+<li><a href="#user-content-job-lifecycle">Job Lifecycle</a>
+
+<ul>
+<li><a href="#user-content-life-of-a-task">Life Of A Task</a></li>
+<li><a href="#user-content-pending-to-running-states">PENDING to RUNNING states</a></li>
+<li><a href="#user-content-task-updates">Task Updates</a></li>
+<li><a href="#user-content-http-health-checking-and-graceful-shutdown">HTTP Health Checking and Graceful Shutdown</a>
+
+<ul>
+<li><a href="#user-content-tearing-a-task-down">Tearing a task down</a></li>
+</ul></li>
+<li><a href="#user-content-giving-priority-to-production-tasks-preempting">Giving Priority to Production Tasks: PREEMPTING</a></li>
+<li><a href="#user-content-natural-termination-finished-failed">Natural Termination: FINISHED, FAILED</a></li>
+<li><a href="#user-content-forceful-termination-killing-restarting">Forceful Termination: KILLING, RESTARTING</a></li>
+</ul></li>
+<li><a href="#user-content-service-discovery">Service Discovery</a></li>
+<li><a href="#user-content-configuration">Configuration</a></li>
+<li><a href="#user-content-creating-jobs">Creating Jobs</a></li>
+<li><a href="#user-content-interacting-with-jobs">Interacting With Jobs</a></li>
+</ul>
+
+<h2 id="overview">Overview</h2>
+
+<p>This document gives an overview of how Aurora works under the hood.
+It assumes you&rsquo;ve already worked through the &ldquo;hello world&rdquo; example
+job in the <a href="/documentation/latest/tutorial/">Aurora Tutorial</a>. Specifics of how to use Aurora are <strong>not</strong>
+ given here, but pointers to documentation about how to use Aurora are
+provided.</p>
+
+<p>Aurora is a Mesos framework used to schedule <em>jobs</em> onto Mesos. Mesos
+cares about individual <em>tasks</em>, but typical jobs consist of dozens or
+hundreds of task replicas. Aurora provides a layer on top of Mesos with
+its <code>Job</code> abstraction. An Aurora <code>Job</code> consists of a task template and
+instructions for creating near-identical replicas of that task (modulo
+things like &ldquo;instance id&rdquo; or specific port numbers which may differ from
+machine to machine).</p>
+
+<p>How many tasks make up a Job is complicated. On a basic level, a Job consists of
+one task template and instructions for creating near-idential replicas of that task
+(otherwise referred to as &ldquo;instances&rdquo; or &ldquo;shards&rdquo;).</p>
+
+<p>However, since Jobs can be updated on the fly, a single Job identifier or <em>job key</em>
+can have multiple job configurations associated with it.</p>
+
+<p>For example, consider when I have a Job with 4 instances that each
+request 1 core of cpu, 1 GB of RAM, and 1 GB of disk space as specified
+in the configuration file <code>hello_world.aurora</code>. I want to
+update it so it requests 2 GB of RAM instead of 1. I create a new
+configuration file to do that called <code>new_hello_world.aurora</code> and
+issue a <code>aurora update --shards=0-1 &lt;job_key_value&gt; new_hello_world.aurora</code>
+command.</p>
+
+<p>This results in instances 0 and 1 having 1 cpu, 2 GB of RAM, and 1 GB of disk space,
+while instances 2 and 3 have 1 cpu, 1 GB of RAM, and 1 GB of disk space. If instance 3
+dies and restarts, it restarts with 1 cpu, 1 GB RAM, and 1 GB disk space.</p>
+
+<p>So that means there are two simultaneous task configurations for the same Job
+at the same time, just valid for different ranges of instances.</p>
+
+<p>This isn&rsquo;t a recommended pattern, but it is valid and supported by the
+Aurora scheduler. This most often manifests in the &ldquo;canary pattern&rdquo; where
+instance 0 runs with a different configuration than instances 1-N to test
+different code versions alongside the actual production job.</p>
+
+<p>A task can merely be a single <em>process</em> corresponding to a single
+command line, such as <code>python2.6 my_script.py</code>. However, a task can also
+consist of many separate processes, which all run within a single
+sandbox. For example, running multiple cooperating agents together,
+such as <code>logrotate</code>, <code>installer</code>, master, or slave processes. This is
+where Thermos  comes in. While Aurora provides a <code>Job</code> abstraction on
+top of Mesos <code>Tasks</code>, Thermos provides a <code>Process</code> abstraction
+underneath Mesos <code>Task</code>s and serves as part of the Aurora framework&rsquo;s
+executor.</p>
+
+<p>You define <code>Job</code>s,<code>Task</code>s, and <code>Process</code>es in a configuration file.
+Configuration files are written in Python, and make use of the Pystachio
+templating language. They end in a <code>.aurora</code> extension.</p>
+
+<p>Pystachio is a type-checked dictionary templating library.</p>
+
+<blockquote>
+<p>TL;DR</p>
+
+<ul>
+<li>  Aurora manages jobs made of tasks.</li>
+<li>  Mesos manages tasks made of processes.</li>
+<li>  Thermos manages processes.</li>
+<li>  All defined in <code>.aurora</code> configuration file.</li>
+</ul>
+</blockquote>
+
+<p><img alt="Aurora hierarchy" src="../images/aurora_hierarchy.png" /></p>
+
+<p>Each <code>Task</code> has a <em>sandbox</em> created when the <code>Task</code> starts and garbage
+collected when it finishes. All of a <code>Task&#39;</code>s processes run in its
+sandbox, so processes can share state by using a shared current working
+directory.</p>
+
+<p>The sandbox garbage collection policy considers many factors, most
+importantly age and size. It makes a best-effort attempt to keep
+sandboxes around as long as possible post-task in order for service
+owners to inspect data and logs, should the <code>Task</code> have completed
+abnormally. But you can&rsquo;t design your applications assuming sandboxes
+will be around forever, e.g. by building log saving or other
+checkpointing mechanisms directly into your application or into your
+<code>Job</code> description.</p>
+
+<h2 id="job-lifecycle">Job Lifecycle</h2>
+
+<p>When Aurora reads a configuration file and finds a <code>Job</code> definition, it:</p>
+
+<ol>
+<li> Evaluates the <code>Job</code> definition.</li>
+<li> Splits the <code>Job</code> into its constituent <code>Task</code>s.</li>
+<li> Sends those <code>Task</code>s to the scheduler.</li>
+<li> The scheduler puts the <code>Task</code>s into <code>PENDING</code> state, starting each
+<code>Task</code>&rsquo;s life cycle.</li>
+</ol>
+
+<h3 id="life-of-a-task">Life Of A Task</h3>
+
+<p><img alt="Life of a task" src="../images/lifeofatask.png" /></p>
+
+<h3 id="pending-to-running-states">PENDING to RUNNING states</h3>
+
+<p>When a <code>Task</code> is in the <code>PENDING</code> state, the scheduler constantly
+searches for machines satisfying that <code>Task</code>&rsquo;s resource request
+requirements (RAM, disk space, CPU time) while maintaining configuration
+constraints such as &ldquo;a <code>Task</code> must run on machines  dedicated  to a
+particular role&rdquo; or attribute limit constraints such as &ldquo;at most 2
+<code>Task</code>s from the same <code>Job</code> may run on each rack&rdquo;. When the scheduler
+finds a suitable match, it assigns the <code>Task</code> to a machine and puts the
+<code>Task</code> into the <code>ASSIGNED</code> state.</p>
+
+<p>From the <code>ASSIGNED</code> state, the scheduler sends an RPC to the slave
+machine containing <code>Task</code> configuration, which the slave uses to spawn
+an executor responsible for the <code>Task</code>&rsquo;s lifecycle. When the scheduler
+receives an acknowledgement that the machine has accepted the <code>Task</code>,
+the <code>Task</code> goes into <code>STARTING</code> state.</p>
+
+<p><code>STARTING</code> state initializes a <code>Task</code> sandbox. When the sandbox is fully
+initialized, Thermos begins to invoke <code>Process</code>es. Also, the slave
+machine sends an update to the scheduler that the <code>Task</code> is
+in <code>RUNNING</code> state.</p>
+
+<p>If a <code>Task</code> stays in <code>ASSIGNED</code> or <code>STARTING</code> for too long, the
+scheduler forces it into <code>LOST</code> state, creating a new <code>Task</code> in its
+place that&rsquo;s sent into <code>PENDING</code> state. This is technically true of any
+active state: if the Mesos core tells the scheduler that a slave has
+become unhealthy (or outright disappeared), the <code>Task</code>s assigned to that
+slave go into <code>LOST</code> state and new <code>Task</code>s are created in their place.
+From <code>PENDING</code> state, there is no guarantee a <code>Task</code> will be reassigned
+to the same machine unless job constraints explicitly force it there.</p>
+
+<p>If there is a state mismatch, (e.g. a machine returns from a <code>netsplit</code>
+and the scheduler has marked all its <code>Task</code>s <code>LOST</code> and rescheduled
+them), a state reconciliation process kills the errant <code>RUNNING</code> tasks,
+which may take up to an hour. But to emphasize this point: there is no
+uniqueness guarantee for a single instance of a job in the presence of
+network partitions. If the Task requires that, it should be baked in at
+the application level using a distributed coordination service such as
+Zookeeper.</p>
+
+<h3 id="task-updates">Task Updates</h3>
+
+<p><code>Job</code> configurations can be updated at any point in their lifecycle.
+Usually updates are done incrementally using a process called a <em>rolling
+upgrade</em>, in which Tasks are upgraded in small groups, one group at a
+time.  Updates are done using various Aurora Client commands.</p>
+
+<p>For a configuration update, the Aurora Client calculates required changes
+by examining the current job config state and the new desired job config.
+It then starts a rolling batched update process by going through every batch
+and performing these operations:</p>
+
+<ul>
+<li>If an instance is present in the scheduler but isn&rsquo;t in the new config,
+then that instance is killed.</li>
+<li>If an instance is not present in the scheduler but is present in
+the new config, then the instance is created.</li>
+<li>If an instance is present in both the scheduler the new config, then
+the client diffs both task configs. If it detects any changes, it
+performs an instance update by killing the old config instance and adds
+the new config instance.</li>
+</ul>
+
+<p>The Aurora client continues through the instance list until all tasks are
+updated, in <code>RUNNING,</code> and healthy for a configurable amount of time.
+If the client determines the update is not going well (a percentage of health
+checks have failed), it cancels the update.</p>
+
+<p>Update cancellation runs a procedure similar to the described above
+update sequence, but in reverse order. New instance configs are swapped
+with old instance configs and batch updates proceed backwards
+from the point where the update failed. E.g.; (0,1,2) (3,4,5) (6,7,
+8-FAIL) results in a rollback in order (8,7,6) (5,4,3) (2,1,0).</p>
+
+<h3 id="http-health-checking-and-graceful-shutdown">HTTP Health Checking and Graceful Shutdown</h3>
+
+<p>The Executor implements a protocol for rudimentary control of a task via HTTP.  Tasks subscribe for
+this protocol by declaring a port named <code>health</code>.  Take for example this configuration snippet:</p>
+<pre class="highlight text">nginx = Process(
+  name = &#39;nginx&#39;,
+  cmdline = &#39;./run_nginx.sh -port {{thermos.ports[http]}}&#39;)
+</pre>
+<p>When this Process is included in a job, the job will be allocated a port, and the command line
+will be replaced with something like:</p>
+<pre class="highlight text">./run_nginx.sh -port 42816
+</pre>
+<p>Where 42816 happens to be the allocated. port.  Typically, the Executor monitors Processes within
+a task only by liveness of the forked process.  However, when a <code>health</code> port was allocated, it will
+also send periodic HTTP health checks.  A task requesting a <code>health</code> port must handle the following
+requests:</p>
+
+<table><thead>
+<tr>
+<th>HTTP request</th>
+<th>Description</th>
+</tr>
+</thead><tbody>
+<tr>
+<td><code>GET /health</code></td>
+<td>Inquires whether the task is healthy.</td>
+</tr>
+<tr>
+<td><code>POST /quitquitquit</code></td>
+<td>Task should initiate graceful shutdown.</td>
+</tr>
+<tr>
+<td><code>POST /abortabortabort</code></td>
+<td>Final warning task is being killed.</td>
+</tr>
+</tbody></table>
+
+<p>Please see the
+<a href="configuration-reference.md#user-content-healthcheckconfig-objects">configuration reference</a> for
+configuration options for this feature.</p>
+
+<h4 id="snoozing-health-checks">Snoozing Health Checks</h4>
+
+<p>If you need to pause your health check, you can do so by touching a file inside of your sandbox,
+named <code>.healthchecksnooze</code></p>
+
+<p>As long as that file is present, health checks will be disabled, enabling users to gather core dumps
+or other performance measurements without worrying about Aurora&rsquo;s health check killing their
+process.</p>
+
+<p>WARNING: Remember to remove this when you are done, otherwise your instance will have permanently
+disabled health checks.</p>
+
+<h4 id="tearing-a-task-down">Tearing a task down</h4>
+
+<p>The Executor follows an escalation sequence when killing a running task:</p>
+
+<ol>
+<li>If <code>health</code> port is not present, skip to (5)</li>
+<li>POST /quitquitquit</li>
+<li>wait 5 seconds</li>
+<li>POST /abortabortabort</li>
+<li>Send SIGTERM (<code>kill</code>)</li>
+<li>Send SIGKILL (<code>kill -9</code>)</li>
+</ol>
+
+<p>If the Executor notices that all Processes in a Task have aborted during this sequence, it will
+not proceed with subsequent steps.  Note that graceful shutdown is best-effort, and due to the many
+inevitable realities of distributed systems, it may not be performed.</p>
+
+<h3 id="giving-priority-to-production-tasks:-preempting">Giving Priority to Production Tasks: PREEMPTING</h3>
+
+<p>Sometimes a Task needs to be interrupted, such as when a non-production
+Task&rsquo;s resources are needed by a higher priority production Task. This
+type of interruption is called a <em>pre-emption</em>. When this happens in
+Aurora, the non-production Task is killed and moved into
+the <code>PREEMPTING</code> state  when both the following are true:</p>
+
+<ul>
+<li>The task being killed is a non-production task.</li>
+<li>The other task is a <code>PENDING</code> production task that hasn&rsquo;t been
+scheduled due to a lack of resources.</li>
+</ul>
+
+<p>Since production tasks are much more important, Aurora kills off the
+non-production task to free up resources for the production task. The
+scheduler UI shows the non-production task was preempted in favor of the
+production task. At some point, tasks in <code>PREEMPTING</code> move to <code>KILLED</code>.</p>
+
+<p>Note that non-production tasks consuming many resources are likely to be
+preempted in favor of production tasks.</p>
+
+<h3 id="natural-termination:-finished,-failed">Natural Termination: FINISHED, FAILED</h3>
+
+<p>A <code>RUNNING</code> <code>Task</code> can terminate without direct user interaction. For
+example, it may be a finite computation that finishes, even something as
+simple as <code>echo hello world.</code>Or it could be an exceptional condition in
+a long-lived service. If the <code>Task</code> is successful (its underlying
+processes have succeeded with exit status <code>0</code> or finished without
+reaching failure limits) it moves into <code>FINISHED</code> state. If it finished
+after reaching a set of failure limits, it goes into <code>FAILED</code> state.</p>
+
+<h3 id="forceful-termination:-killing,-restarting">Forceful Termination: KILLING, RESTARTING</h3>
+
+<p>You can terminate a <code>Task</code> by issuing an <code>aurora kill</code> command, which
+moves it into <code>KILLING</code> state. The scheduler then sends the slave  a
+request to terminate the <code>Task</code>. If the scheduler receives a successful
+response, it moves the Task into <code>KILLED</code> state and never restarts it.</p>
+
+<p>The scheduler has access to a non-public <code>RESTARTING</code> state. If a <code>Task</code>
+is forced into the <code>RESTARTING</code> state, the scheduler kills the
+underlying task but in parallel schedules an identical replacement for
+it.</p>
+
+<h2 id="configuration">Configuration</h2>
+
+<p>You define and configure your Jobs (and their Tasks and Processes) in
+Aurora configuration files. Their filenames end with the <code>.aurora</code>
+suffix, and you write them in Python making use of the Pystachio
+templating language, along
+with specific Aurora, Mesos, and Thermos commands and methods. See the
+<a href="/documentation/latest/configuration-reference/">Configuration Guide and Reference</a> and
+<a href="/documentation/latest/configuration-tutorial/">Configuration Tutorial</a>.</p>
+
+<h2 id="service-discovery">Service Discovery</h2>
+
+<p>It is possible for the Aurora executor to announce tasks into ServerSets for
+the purpose of service discovery.  ServerSets use the Zookeeper <a href="http://zookeeper.apache.org/doc/trunk/recipes.html#sc_outOfTheBox">group membership pattern</a>
+of which there are several reference implementations:</p>
+
+<ul>
+<li><a href="https://github.com/apache/mesos/blob/master/src/zookeeper/group.cpp">C++</a></li>
+<li><a href="https://github.com/twitter/commons/blob/master/src/java/com/twitter/common/zookeeper/ServerSetImpl.java#L221">Java</a></li>
+<li><a href="https://github.com/twitter/commons/blob/master/src/python/twitter/common/zookeeper/serverset/serverset.py#L51">Python</a></li>
+</ul>
+
+<p>These can also be used natively in Finagle using the <a href="https://github.com/twitter/finagle/blob/master/finagle-serversets/src/main/scala/com/twitter/finagle/zookeeper/ZookeeperServerSetCluster.scala">ZookeeperServerSetCluster</a>.</p>
+
+<p>For more information about how to configure announcing, see the <a href="/documentation/latest/configuration-reference/">Configuration Reference</a>.</p>
+
+<h2 id="creating-jobs">Creating Jobs</h2>
+
+<p>You create and manipulate Aurora Jobs with the Aurora client, which starts all its
+command line commands with
+<code>aurora</code>. See <a href="/documentation/latest/client-commands/">Aurora Client Commands</a> for details
+about the Aurora Client.</p>
+
+<h2 id="interacting-with-jobs">Interacting With Jobs</h2>
+
+<p>You interact with Aurora jobs either via:</p>
+
+<ul>
+<li>Read-only Web UIs</li>
+</ul>
+
+<p>Part of the output from creating a new Job is a URL for the Job&rsquo;s scheduler UI page.</p>
+
+<p>For example:</p>
+<pre class="highlight text">  vagrant@precise64:~$ aurora create devcluster/www-data/prod/hello \
+  /vagrant/examples/jobs/hello_world.aurora
+  INFO] Creating job hello
+  INFO] Response from scheduler: OK (message: 1 new tasks pending for job www-data/prod/hello)
+  INFO] Job url: http://precise64:8081/scheduler/www-data/prod/hello
+</pre>
+<p>The &ldquo;Job url&rdquo; goes to the Job&rsquo;s scheduler UI page. To go to the overall scheduler UI page,
+  stop at the &ldquo;scheduler&rdquo; part of the URL, in this case, <code>http://precise64:8081/scheduler</code></p>
+
+<p>You can also reach the scheduler UI page via the Client command <code>aurora open</code>:</p>
+<pre class="highlight text">  aurora open [&lt;cluster&gt;[/&lt;role&gt;[/&lt;env&gt;/&lt;job_name&gt;]]]
+</pre>
+<p>If only the cluster is specified, it goes directly to that cluster&rsquo;s scheduler main page.
+  If the role is specified, it goes to the top-level role page. If the full job key is specified,
+  it goes directly to the job page where you can inspect individual tasks.</p>
+
+<p>Once you click through to a role page, you see Jobs arranged separately by pending jobs, active
+  jobs, and finished jobs. Jobs are arranged by role, typically a service account for production
+  jobs and user accounts for test or development jobs.</p>
+
+<ul>
+<li>The Aurora Client&rsquo;s command line interface</li>
+</ul>
+
+<p>Several Client commands have a <code>-o</code> option that automatically opens a window to
+  the specified Job&rsquo;s scheduler UI URL. And, as described above, the <code>open</code> command also takes
+  you there.</p>
+
+<p>For a complete list of Aurora Client commands, use <code>aurora help</code> and, for specific
+  command help, <code>aurora help [command]</code>. <strong>Note</strong>: <code>aurora help open</code>
+  returns <code>&quot;subcommand open not found&quot;</code> due to our reflection tricks not
+  working on words that are also builtin Python function names. Or see the
+  <a href="/documentation/latest/client-commands/">Aurora Client Commands</a> document.</p>
+
+  		</div>
+  	  </div>
+	  
+      	<div class="container-fluid section-footer buffer">
+      <div class="container">
+        <div class="row">
+		  <div class="col-md-2 col-md-offset-1"><h3>Quick Links</h3>
+		  <ul>
+		    <li><a href="/downloads/">Downloads</a></li>
+            <li><a href="/community/">Mailing Lists</a></li>
+			<li><a href="http://issues.apache.org/jira/browse/AURORA">Issue Tracking</a></li>
+			<li><a href="/documentation/latest/contributing/">How To Contribute</a></li>     
+		  </ul>
+	      </div>
+		  <div class="col-md-2"><h3>The ASF</h3>
+          <ul>
+            <li><a href="http://www.apache.org/licenses/">License</a></li>
+            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>  
+            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+            <li><a href="http://www.apache.org/security/">Security</a></li>
+          </ul>
+		  </div>
+		  <div class="col-md-6">
+		    <p class="disclaimer">Apache Aurora is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. 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. 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>
+			<p class="disclaimer">Copyright 2014 <a href="http://www.apache.org/">Apache Software Foundation</a>. Licensed under the <a href="http://www.apache.org/licenses/">Apache License v2.0</a>. The <a href="https://www.flickr.com/photos/trondk/12706051375/">Aurora Borealis IX photo</a> displayed on the homepage is available under a <a href="https://creativecommons.org/licenses/by-nc-nd/2.0/">Creative Commons BY-NC-ND 2.0 license</a>. Apache, Apache Aurora, and the Apache feather logo are trademarks of The Apache Software Foundation.</p>
+        </div>
+      </div>
+    </div>
+	</body>
+</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-aurora-website/blob/c43a3a2d/publish/documentation/latest/vagrant/index.html
----------------------------------------------------------------------
diff --git a/publish/documentation/latest/vagrant/index.html b/publish/documentation/latest/vagrant/index.html
new file mode 100644
index 0000000..65f3a1f
--- /dev/null
+++ b/publish/documentation/latest/vagrant/index.html
@@ -0,0 +1,121 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+	<title>Apache Aurora</title>
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
+    <link href="/assets/css/main.css" rel="stylesheet">
+	<!-- Analytics -->
+	<script type="text/javascript">
+		  var _gaq = _gaq || [];
+		  _gaq.push(['_setAccount', 'UA-45879646-1']);
+		  _gaq.push(['_setDomainName', 'apache.org']);
+		  _gaq.push(['_trackPageview']);
+
+		  (function() {
+		    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+		    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+		    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+		  })();
+	</script>
+  </head>
+  <body>
+	  
+        <div class="container-fluid section-header">
+  <div class="container">
+    <div class="nav nav-bar">
+    <a href="/"><img src="/assets/img/aurora_logo_white_bkg.svg" width="300" alt="Transparent Apache Aurora logo with dark background"/></a>
+	<ul class="nav navbar-nav navbar-right">
+      <li><a href="/documentation/latest/">Documentation</a></li>
+      <li><a href="/community/">Community</a></li>
+      <li><a href="/downloads/">Downloads</a></li>
+      <li><a href="/blog/">Blog</a></li>
+    </ul>
+    </div>
+  </div>
+</div>	
+  	  <div class="container-fluid">
+  	  	<div class="container content">
+          <h1 id="getting-started">Getting Started</h1>
+
+<p>To replicate a real cluster environment as closely as possible, we use
+<a href="http://www.vagrantup.com/">Vagrant</a> to launch a complete Aurora cluster in a virtual machine.</p>
+
+<h2 id="prerequisites">Prerequisites</h2>
+
+<ul>
+<li><a href="https://www.virtualbox.org/">VirtualBox</a></li>
+<li><a href="http://www.vagrantup.com/">Vagrant</a></li>
+<li>A clone of the Aurora repository, or source distribution.</li>
+</ul>
+
+<p>You can start a local cluster by running:</p>
+<pre class="highlight text">vagrant up
+</pre>
+<p>Once started, several services should be running:</p>
+
+<ul>
+<li>scheduler is listening on <a href="http://192.168.33.7:8081">http://192.168.33.7:8081</a></li>
+<li>observer is listening on <a href="http://192.168.33.7:1338">http://192.168.33.7:1338</a></li>
+<li>master is listening on <a href="http://192.168.33.7:5050">http://192.168.33.7:5050</a></li>
+<li>slave is listening on <a href="http://192.168.33.7:5051">http://192.168.33.7:5051</a></li>
+</ul>
+
+<p>You can SSH into the machine with <code>vagrant ssh</code> and execute aurora client commands using the
+<code>aurora</code> command.  A pre-installed <code>clusters.json</code> file refers to your local cluster as
+<code>devcluster</code>, which you will use in client commands.</p>
+
+<h1 id="deleting-your-local-cluster">Deleting your local cluster</h1>
+
+<p>Once you are finished with your local cluster, or if you would otherwise like to start from scratch,
+you can use the command <code>vagrant destroy</code> to turn off and delete the virtual file system.</p>
+
+<h1 id="rebuilding-components">Rebuilding components</h1>
+
+<p>If you are changing Aurora code and would like to rebuild a component, you can use the <code>aurorabuild</code>
+command on your vagrant machine to build and restart a component.  This is considerably faster than
+destroying and rebuilding your VM.</p>
+
+<p><code>aurorabuild</code> accepts a list of components to build and update.  You may invoke the command with
+no arguments to get a list of supported components.</p>
+<pre class="highlight text"> vagrant ssh -c &#39;aurorabuild client&#39;
+</pre>
+<h1 id="troubleshooting">Troubleshooting</h1>
+
+<p>Most of the vagrant related problems can be fixed by the following steps:
+* Destroying the vagrant environment with <code>vagrant destroy</code>
+* Killing any orphaned VMs (see AURORA-499) with <code>virtualbox</code> UI or <code>VBoxManage</code> command line tool
+* Cleaning the repository of build artifacts and other intermediate output with <code>git clean -fdx</code>
+* Bringing up the vagrant environment with <code>vagrant up</code></p>
+
+  		</div>
+  	  </div>
+	  
+      	<div class="container-fluid section-footer buffer">
+      <div class="container">
+        <div class="row">
+		  <div class="col-md-2 col-md-offset-1"><h3>Quick Links</h3>
+		  <ul>
+		    <li><a href="/downloads/">Downloads</a></li>
+            <li><a href="/community/">Mailing Lists</a></li>
+			<li><a href="http://issues.apache.org/jira/browse/AURORA">Issue Tracking</a></li>
+			<li><a href="/documentation/latest/contributing/">How To Contribute</a></li>     
+		  </ul>
+	      </div>
+		  <div class="col-md-2"><h3>The ASF</h3>
+          <ul>
+            <li><a href="http://www.apache.org/licenses/">License</a></li>
+            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>  
+            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+            <li><a href="http://www.apache.org/security/">Security</a></li>
+          </ul>
+		  </div>
+		  <div class="col-md-6">
+		    <p class="disclaimer">Apache Aurora is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. 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. 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>
+			<p class="disclaimer">Copyright 2014 <a href="http://www.apache.org/">Apache Software Foundation</a>. Licensed under the <a href="http://www.apache.org/licenses/">Apache License v2.0</a>. The <a href="https://www.flickr.com/photos/trondk/12706051375/">Aurora Borealis IX photo</a> displayed on the homepage is available under a <a href="https://creativecommons.org/licenses/by-nc-nd/2.0/">Creative Commons BY-NC-ND 2.0 license</a>. Apache, Apache Aurora, and the Apache feather logo are trademarks of The Apache Software Foundation.</p>
+        </div>
+      </div>
+    </div>
+	</body>
+</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-aurora-website/blob/c43a3a2d/publish/downloads/index.html
----------------------------------------------------------------------
diff --git a/publish/downloads/index.html b/publish/downloads/index.html
new file mode 100644
index 0000000..72e96df
--- /dev/null
+++ b/publish/downloads/index.html
@@ -0,0 +1,96 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+	<title>Apache Aurora</title>
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
+    <link href="/assets/css/main.css" rel="stylesheet">
+	<!-- Analytics -->
+	<script type="text/javascript">
+		  var _gaq = _gaq || [];
+		  _gaq.push(['_setAccount', 'UA-45879646-1']);
+		  _gaq.push(['_setDomainName', 'apache.org']);
+		  _gaq.push(['_trackPageview']);
+
+		  (function() {
+		    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+		    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+		    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+		  })();
+	</script>
+  </head>
+  <body>
+	  
+        <div class="container-fluid section-header">
+  <div class="container">
+    <div class="nav nav-bar">
+    <a href="/"><img src="/assets/img/aurora_logo_white_bkg.svg" width="300" alt="Transparent Apache Aurora logo with dark background"/></a>
+	<ul class="nav navbar-nav navbar-right">
+      <li><a href="/documentation/latest/">Documentation</a></li>
+      <li><a href="/community/">Community</a></li>
+      <li><a href="/downloads/">Downloads</a></li>
+      <li><a href="/blog/">Blog</a></li>
+    </ul>
+    </div>
+  </div>
+</div>	
+  	  <div class="container-fluid">
+  	  	<div class="container content">
+          <h1 id="download-aurora">Download Aurora</h1>
+
+<h2 id="current-release">Current Release</h2>
+
+<p>The current released version is <em>0.6.0-incubating</em>. <a href="https://dist.apache.org/repos/dist/release/incubator/aurora/0.6.0/apache-aurora-0.6.0-incubating.tar.gz">(.tar.gz)</a>
+<a href="https://dist.apache.org/repos/dist/release/incubator/aurora/0.6.0/apache-aurora-0.6.0-incubating.tar.gz.md5">(md5)</a>
+<a href="https://dist.apache.org/repos/dist/release/incubator/aurora/0.6.0/apache-aurora-0.6.0-incubating.tar.gz.sha">(sha)</a> 
+<a href="https://dist.apache.org/repos/dist/release/incubator/aurora/0.6.0/apache-aurora-0.6.0-incubating.tar.gz.asc">(sig)</a></p>
+
+<p>To quickly get started, we reccomend using Vagrant and following the <a href="http://localhost:4567/documentation/latest/vagrant/">Getting Started guide</a>.</p>
+
+<h2 id="previous-releases">Previous Releases</h2>
+
+<p><em>0.5.0-incubating</em> <a href="https://dist.apache.org/repos/dist/release/incubator/aurora/0.5.0/apache-aurora-0.5.0-incubating.tar.gz">(.tar.gz)</a>
+<a href="https://dist.apache.org/repos/dist/release/incubator/aurora/0.5.0/apache-aurora-0.5.0-incubating.tar.gz.md5">(md5)</a>
+<a href="https://dist.apache.org/repos/dist/release/incubator/aurora/0.5.0/apache-aurora-0.5.0-incubating.tar.gz.sha">(sha)</a> 
+<a href="https://dist.apache.org/repos/dist/release/incubator/aurora/0.5.0/apache-aurora-0.5.0-incubating.tar.gz.asc">(sig)</a></p>
+
+<h2 id="git">Git</h2>
+
+<p>The latest code is available in git via:</p>
+<pre class="highlight text">git clone http://git.apache.org/incubator-aurora.git
+</pre>
+<p>You can browse the repo on
+<a href="https://git-wip-us.apache.org/repos/asf?p=incubator-aurora.git">Apache Git</a>
+and the <a href="https://github.com/apache/incubator-aurora">Github mirror</a>.</p>
+
+  		</div>
+  	  </div>
+	  
+      	<div class="container-fluid section-footer buffer">
+      <div class="container">
+        <div class="row">
+		  <div class="col-md-2 col-md-offset-1"><h3>Quick Links</h3>
+		  <ul>
+		    <li><a href="/downloads/">Downloads</a></li>
+            <li><a href="/community/">Mailing Lists</a></li>
+			<li><a href="http://issues.apache.org/jira/browse/AURORA">Issue Tracking</a></li>
+			<li><a href="/documentation/latest/contributing/">How To Contribute</a></li>     
+		  </ul>
+	      </div>
+		  <div class="col-md-2"><h3>The ASF</h3>
+          <ul>
+            <li><a href="http://www.apache.org/licenses/">License</a></li>
+            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>  
+            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+            <li><a href="http://www.apache.org/security/">Security</a></li>
+          </ul>
+		  </div>
+		  <div class="col-md-6">
+		    <p class="disclaimer">Apache Aurora is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. 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. 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>
+			<p class="disclaimer">Copyright 2014 <a href="http://www.apache.org/">Apache Software Foundation</a>. Licensed under the <a href="http://www.apache.org/licenses/">Apache License v2.0</a>. The <a href="https://www.flickr.com/photos/trondk/12706051375/">Aurora Borealis IX photo</a> displayed on the homepage is available under a <a href="https://creativecommons.org/licenses/by-nc-nd/2.0/">Creative Commons BY-NC-ND 2.0 license</a>. Apache, Apache Aurora, and the Apache feather logo are trademarks of The Apache Software Foundation.</p>
+        </div>
+      </div>
+    </div>
+	</body>
+</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-aurora-website/blob/c43a3a2d/publish/index.html
----------------------------------------------------------------------
diff --git a/publish/index.html b/publish/index.html
new file mode 100644
index 0000000..8e9a2aa
--- /dev/null
+++ b/publish/index.html
@@ -0,0 +1,105 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+	<title>Apache Aurora</title>
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
+    <link href="/assets/css/main.css" rel="stylesheet">
+	<!-- Analytics -->
+	<script type="text/javascript">
+		  var _gaq = _gaq || [];
+		  _gaq.push(['_setAccount', 'UA-45879646-1']);
+		  _gaq.push(['_setDomainName', 'apache.org']);
+		  _gaq.push(['_trackPageview']);
+
+		  (function() {
+		    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+		    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+		    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+		  })();
+	</script>
+  </head>
+  <body>
+	  
+	    <div class="container-fluid section-homepage-header">
+  <div class="container">
+    <div class="nav nav-bar">
+    <img src="/assets/img/aurora_logo_dkbkg.svg" width="300" alt="Transparent Apache Aurora logo with dark background"/>
+	<ul class="nav navbar-nav navbar-right">
+      <li><a href="/documentation/latest/">Documentation</a></li>
+      <li><a href="/community/">Community</a></li>
+      <li><a href="/downloads/">Downloads</a></li>
+      <li><a href="/blog/">Blog</a></li>
+    </ul>
+    </div>
+  </div>
+<div class="container">
+<div class="row text-center">
+<div class="col-md-8 col-md-offset-2">
+  <br /><br /><br /><br /><br /><br /><br />
+  <h1>Apache Aurora is a Mesos framework for long-running services and cron jobs.</h1>
+  <br /><br /><br /><br /><br /><br /><br />
+</div>
+</div>
+</div>
+</div>
+		<div class="container-fluid section-ltgreen buffer">
+  <div class="container">
+  <div class="row">
+      <div class="col-md-5 col-md-offset-1"><h2>What does Aurora do?</h2><p>Aurora runs applications and services across a shared pool of machines, and is responsible for keeping them running, forever. When machines experience failure, Aurora intelligently reschedules those jobs onto healthy machines.</p></div>
+      <div class="col-md-4 col-md-offset-1">
+    <iframe
+    width="420" height="236"
+    src="http://www.youtube-nocookie.com/embed/asd_h6VzaJc?rel=0&amp;start=119&amp;controls=0"
+    allowfullscreen></iframe></div>
+  </div>
+  </div>
+</div>
+
+<div class="container-fluid buffer">
+  <div class="container">
+  <h2 class="text-center">Key Aurora Features</h2>
+  <div class="row">
+      <div class="col-md-2 text-center"><p><span class="glyphicon glyphicon-tasks"></span></p></div>
+      <div class="col-md-4"><h3>Rolling Updates with Automatic Rollback</h3><p>When updating a job, Aurora will detect the health and status of a deployment and automatically rollback if necessary.</p></div>
+      <div class="col-md-2 text-center"><p><span class="glyphicon glyphicon-th"></span></p></div>
+      <div class="col-md-4"><h3>Resource Quota and Multi-User Support</h3><p>Aurora has a quota system to provide guaranteed resources for specific applications, and can support multiple users to deploy services.</p></div>
+  </div>
+  <div class="row">
+      <div class="col-md-2 text-center"><p><span class="glyphicon glyphicon-list-alt"></span></p></div>
+      <div class="col-md-4"><h3>Sophisticated DSL</h3><p>Services are highly-configurable via a <a href="/documentation/latest/configuration-tutorial">DSL</a> which supports templating, allowing you to establish common patterns and avoid redundant configurations.</p></div>
+      <div class="col-md-2 text-center"><p><span class="glyphicon glyphicon-cloud-upload"></span></p></div>
+      <div class="col-md-4"><h3>Service Registration</h3><p>Aurora <a href="/documentation/latest/configuration-reference/#announcer-objects">announces</a> services to Apache ZooKeeper for discovery by clients like Finagle.</p></div>
+  </div>
+ </div>
+</div>
+
+      
+      	<div class="container-fluid section-footer buffer">
+      <div class="container">
+        <div class="row">
+		  <div class="col-md-2 col-md-offset-1"><h3>Quick Links</h3>
+		  <ul>
+		    <li><a href="/downloads/">Downloads</a></li>
+            <li><a href="/community/">Mailing Lists</a></li>
+			<li><a href="http://issues.apache.org/jira/browse/AURORA">Issue Tracking</a></li>
+			<li><a href="/documentation/latest/contributing/">How To Contribute</a></li>     
+		  </ul>
+	      </div>
+		  <div class="col-md-2"><h3>The ASF</h3>
+          <ul>
+            <li><a href="http://www.apache.org/licenses/">License</a></li>
+            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>  
+            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+            <li><a href="http://www.apache.org/security/">Security</a></li>
+          </ul>
+		  </div>
+		  <div class="col-md-6">
+		    <p class="disclaimer">Apache Aurora is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. 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. 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>
+			<p class="disclaimer">Copyright 2014 <a href="http://www.apache.org/">Apache Software Foundation</a>. Licensed under the <a href="http://www.apache.org/licenses/">Apache License v2.0</a>. The <a href="https://www.flickr.com/photos/trondk/12706051375/">Aurora Borealis IX photo</a> displayed on the homepage is available under a <a href="https://creativecommons.org/licenses/by-nc-nd/2.0/">Creative Commons BY-NC-ND 2.0 license</a>. Apache, Apache Aurora, and the Apache feather logo are trademarks of The Apache Software Foundation.</p>
+        </div>
+      </div>
+    </div>
+	</body>
+</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-aurora-website/blob/c43a3a2d/source/_footer.md.erb
----------------------------------------------------------------------
diff --git a/source/_footer.md.erb b/source/_footer.md.erb
new file mode 100644
index 0000000..7014b43
--- /dev/null
+++ b/source/_footer.md.erb
@@ -0,0 +1,25 @@
+	<div class="container-fluid section-footer buffer">
+      <div class="container">
+        <div class="row">
+		  <div class="col-md-2 col-md-offset-1"><h3>Quick Links</h3>
+		  <ul>
+		    <li><a href="/downloads/">Downloads</a></li>
+            <li><a href="/community/">Mailing Lists</a></li>
+			<li><a href="http://issues.apache.org/jira/browse/AURORA">Issue Tracking</a></li>
+			<li><a href="/documentation/latest/contributing/">How To Contribute</a></li>     
+		  </ul>
+	      </div>
+		  <div class="col-md-2"><h3>The ASF</h3>
+          <ul>
+            <li><a href="http://www.apache.org/licenses/">License</a></li>
+            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>  
+            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+            <li><a href="http://www.apache.org/security/">Security</a></li>
+          </ul>
+		  </div>
+		  <div class="col-md-6">
+		    <p class="disclaimer">Apache Aurora is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. 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. 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>
+			<p class="disclaimer">Copyright 2014 <a href="http://www.apache.org/">Apache Software Foundation</a>. Licensed under the <a href="http://www.apache.org/licenses/">Apache License v2.0</a>. The <a href="https://www.flickr.com/photos/trondk/12706051375/">Aurora Borealis IX photo</a> displayed on the homepage is available under a <a href="https://creativecommons.org/licenses/by-nc-nd/2.0/">Creative Commons BY-NC-ND 2.0 license</a>. Apache, Apache Aurora, and the Apache feather logo are trademarks of The Apache Software Foundation.</p>
+        </div>
+      </div>
+    </div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-aurora-website/blob/c43a3a2d/source/_header_homepage.md.erb
----------------------------------------------------------------------
diff --git a/source/_header_homepage.md.erb b/source/_header_homepage.md.erb
new file mode 100644
index 0000000..72de9ba
--- /dev/null
+++ b/source/_header_homepage.md.erb
@@ -0,0 +1,22 @@
+<div class="container-fluid section-homepage-header">
+  <div class="container">
+    <div class="nav nav-bar">
+    <img src="/assets/img/aurora_logo_dkbkg.svg" width="300" alt="Transparent Apache Aurora logo with dark background"/>
+	<ul class="nav navbar-nav navbar-right">
+      <li><a href="/documentation/latest/">Documentation</a></li>
+      <li><a href="/community/">Community</a></li>
+      <li><a href="/downloads/">Downloads</a></li>
+      <li><a href="/blog/">Blog</a></li>
+    </ul>
+    </div>
+  </div>
+<div class="container">
+<div class="row text-center">
+<div class="col-md-8 col-md-offset-2">
+  <br /><br /><br /><br /><br /><br /><br />
+  <h1>Apache Aurora is a Mesos framework for long-running services and cron jobs.</h1>
+  <br /><br /><br /><br /><br /><br /><br />
+</div>
+</div>
+</div>
+</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-aurora-website/blob/c43a3a2d/source/_header_normal.md.erb
----------------------------------------------------------------------
diff --git a/source/_header_normal.md.erb b/source/_header_normal.md.erb
new file mode 100644
index 0000000..08e8f29
--- /dev/null
+++ b/source/_header_normal.md.erb
@@ -0,0 +1,13 @@
+<div class="container-fluid section-header">
+  <div class="container">
+    <div class="nav nav-bar">
+    <a href="/"><img src="/assets/img/aurora_logo_white_bkg.svg" width="300" alt="Transparent Apache Aurora logo with dark background"/></a>
+	<ul class="nav navbar-nav navbar-right">
+      <li><a href="/documentation/latest/">Documentation</a></li>
+      <li><a href="/community/">Community</a></li>
+      <li><a href="/downloads/">Downloads</a></li>
+      <li><a href="/blog/">Blog</a></li>
+    </ul>
+    </div>
+  </div>
+</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-aurora-website/blob/c43a3a2d/source/assets/css/main.css
----------------------------------------------------------------------
diff --git a/source/assets/css/main.css b/source/assets/css/main.css
new file mode 100644
index 0000000..825e45d
--- /dev/null
+++ b/source/assets/css/main.css
@@ -0,0 +1,79 @@
+body {
+	background: rgba(0,0,0,0.04);
+}
+.container.content {
+	background: #fff;
+}
+h1, h2, h3 {
+	color: #004a63;
+}
+span.glyphicon {
+    font-size: 6em;
+	padding-top: 25px;
+}
+.section-ltgreen {
+	background: #40c3b0;
+	color: #fff;
+	font-size: 1.3em;
+	text-shadow: .5px .5px 0px #1b5d3e;
+}
+.section-ltgreen h2 {
+	color: #fff;
+}
+.section-footer {
+	background: #eee;
+}
+.section-homepage-header {
+	background-image: url("/assets/img/aurora_image_1600.jpg");
+	background-size: cover;
+	background-position: center bottom;
+}
+.section-homepage-header h1 {
+	color: #fff;
+	text-shadow: 1px 1px 3px #000;
+}
+.section-header {
+	background-image: url("/assets/img/aurora_image_1600.jpg");
+	background-size: cover;
+	color: #000;
+	background-color: #40c3b0;
+}
+.nav-bar a {
+	color: #fff;
+}
+.navbar li a:hover {
+	text-decoration-color: #40c3b0;
+	color: #fff;
+}
+.nav-bar li a:hover {
+	background: none;
+	text-decoration: underline;
+}
+.nav-bar li {
+	margin: 10px;
+	padding-top: 20px;
+}
+.buffer {
+	padding: 30px 0 30px 0;
+}
+.disclaimer {
+	font-size: .9em;
+	color: #AAA;
+}
+iframe {
+	border: none;
+}
+.author_contact {
+	display: inline-block;
+}
+.author_gravatar {
+	display: inline;
+	padding: 0 20px 20px 5px;
+}
+.share {
+	display: block;
+}
+code, pre {
+	color: #000;
+	border: none;
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-aurora-website/blob/c43a3a2d/source/assets/img/apache_incubator_logo.png
----------------------------------------------------------------------
diff --git a/source/assets/img/apache_incubator_logo.png b/source/assets/img/apache_incubator_logo.png
new file mode 100644
index 0000000..5900d82
Binary files /dev/null and b/source/assets/img/apache_incubator_logo.png differ

http://git-wip-us.apache.org/repos/asf/incubator-aurora-website/blob/c43a3a2d/source/assets/img/aurora_image_1600.jpg
----------------------------------------------------------------------
diff --git a/source/assets/img/aurora_image_1600.jpg b/source/assets/img/aurora_image_1600.jpg
new file mode 100644
index 0000000..b97a801
Binary files /dev/null and b/source/assets/img/aurora_image_1600.jpg differ

http://git-wip-us.apache.org/repos/asf/incubator-aurora-website/blob/c43a3a2d/source/assets/img/aurora_logo.png
----------------------------------------------------------------------
diff --git a/source/assets/img/aurora_logo.png b/source/assets/img/aurora_logo.png
new file mode 100644
index 0000000..abcfbb8
Binary files /dev/null and b/source/assets/img/aurora_logo.png differ

http://git-wip-us.apache.org/repos/asf/incubator-aurora-website/blob/c43a3a2d/source/assets/img/aurora_logo_dkbkg.svg
----------------------------------------------------------------------
diff --git a/source/assets/img/aurora_logo_dkbkg.svg b/source/assets/img/aurora_logo_dkbkg.svg
new file mode 100644
index 0000000..36b714b
--- /dev/null
+++ b/source/assets/img/aurora_logo_dkbkg.svg
@@ -0,0 +1,240 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   width="425"
+   height="157.5"
+   id="svg2"
+   xml:space="preserve"><metadata
+     id="metadata8"><rdf:RDF><cc:Work
+         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+     id="defs6"><clipPath
+       id="clipPath114"><path
+         d="M 0,150 660,150 660,0 0,0 0,150 z"
+         inkscape:connector-curvature="0"
+         id="path116" /></clipPath><clipPath
+       id="clipPath162"><path
+         d="M 0,150 660,150 660,0 0,0 0,150 z"
+         inkscape:connector-curvature="0"
+         id="path164" /></clipPath></defs><g
+     transform="matrix(1.25,0,0,-1.25,0,187.5)"
+     id="g10"><path
+       d="M 0,0 330,0 330,150 0,150 0,0 z"
+       inkscape:connector-curvature="0"
+       id="path12"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:none" /><g
+       transform="translate(89.4268,98.3438)"
+       id="g14"><path
+         d="M 0,0 -18.35,0 -9.16,-15.824 0,0 z"
+         inkscape:connector-curvature="0"
+         id="path16"
+         style="fill:#63c4b1;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+       transform="translate(69.2861,97.3203)"
+       id="g18"><path
+         d="m 0,0 -9.166,-15.852 18.354,0 L 0,0 z"
+         inkscape:connector-curvature="0"
+         id="path20"
+         style="fill:#63c4b1;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+       transform="translate(78.4736,79.4082)"
+       id="g22"><path
+         d="M 0,0 -18.354,0 -9.188,-15.863 0,0 z"
+         inkscape:connector-curvature="0"
+         id="path24"
+         style="fill:#63c4b1;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+       transform="translate(58.3584,78.3828)"
+       id="g26"><path
+         d="m 0,0 -9.219,-15.848 18.381,0 L 0,0 z"
+         inkscape:connector-curvature="0"
+         id="path28"
+         style="fill:#63c4b1;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+       transform="translate(91.1904,97.3203)"
+       id="g30"><path
+         d="m 0,0 -9.158,-15.852 18.351,0 L 0,0 z"
+         inkscape:connector-curvature="0"
+         id="path32"
+         style="fill:#63c4b1;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+       transform="translate(100.3838,79.4082)"
+       id="g34"><path
+         d="M 0,0 -18.352,0 -9.193,-15.863 0,0 z"
+         inkscape:connector-curvature="0"
+         id="path36"
+         style="fill:#63c4b1;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+       transform="translate(80.2666,116.2793)"
+       id="g38"><path
+         d="m 0,0 -9.189,-15.875 18.349,0 L 0,0 z"
+         inkscape:connector-curvature="0"
+         id="path40"
+         style="fill:#63c4b1;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+       transform="translate(67.5205,60.4707)"
+       id="g42"><path
+         d="M 0,0 -18.381,0 -9.162,-15.967 0,0 z"
+         inkscape:connector-curvature="0"
+         id="path44"
+         style="fill:#63c4b1;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+       transform="translate(102.1475,78.3828)"
+       id="g46"><path
+         d="m 0,0 -9.186,-15.848 18.375,0 L 0,0 z"
+         inkscape:connector-curvature="0"
+         id="path48"
+         style="fill:#63c4b1;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+       transform="translate(111.3369,60.4707)"
+       id="g50"><path
+         d="M 0,0 -18.375,0 -9.189,-15.967 0,0 z"
+         inkscape:connector-curvature="0"
+         id="path52"
+         style="fill:#63c4b1;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+       transform="translate(80.2666,78.3828)"
+       id="g54"><path
+         d="m 0,0 -9.189,-15.848 18.349,0 L 0,0 z"
+         inkscape:connector-curvature="0"
+         id="path56"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+       transform="translate(67.5205,98.3438)"
+       id="g58"><path
+         d="M 0,0 -18.381,0 -9.162,-15.824 0,0 z"
+         inkscape:connector-curvature="0"
+         id="path60"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+       transform="translate(38.2119,81.4688)"
+       id="g62"><path
+         d="M 0,0 18.348,0 9.162,15.852"
+         inkscape:connector-curvature="0"
+         id="path64"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+       transform="translate(47.374,63.5449)"
+       id="g66"><path
+         d="m 0,0 9.186,15.863 -18.348,0"
+         inkscape:connector-curvature="0"
+         id="path68"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+       transform="translate(113.0986,97.3203)"
+       id="g70"><path
+         d="m 0,0 -9.156,-15.852 18.345,0 L 0,0 z"
+         inkscape:connector-curvature="0"
+         id="path72"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+       transform="translate(122.2881,79.4082)"
+       id="g74"><path
+         d="M 0,0 -18.346,0 -9.189,-15.863 0,0 z"
+         inkscape:connector-curvature="0"
+         id="path76"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+       transform="translate(100.3838,117.3066)"
+       id="g78"><path
+         d="M 0,0 -18.352,0 -9.193,-15.834 0,0 z"
+         inkscape:connector-curvature="0"
+         id="path80"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+       transform="translate(89.4268,60.4707)"
+       id="g82"><path
+         d="M 0,0 -18.379,0 -9.16,-15.967 0,0 z"
+         inkscape:connector-curvature="0"
+         id="path84"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+       transform="translate(91.1904,59.4492)"
+       id="g86"><path
+         d="m 0,0 -9.158,-15.99 18.351,0 L 0,0 z"
+         inkscape:connector-curvature="0"
+         id="path88"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+       transform="translate(78.4736,117.3066)"
+       id="g90"><path
+         d="M 0,0 -18.354,0 -9.188,-15.834 0,0 z"
+         inkscape:connector-curvature="0"
+         id="path92"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+       transform="translate(58.3584,116.2793)"
+       id="g94"><path
+         d="m 0,0 -9.219,-15.875 18.381,0 L 0,0 z"
+         inkscape:connector-curvature="0"
+         id="path96"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+       transform="translate(102.1475,116.2793)"
+       id="g98"><path
+         d="m 0,0 -9.186,-15.875 18.375,0 L 0,0 z"
+         inkscape:connector-curvature="0"
+         id="path100"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+       transform="translate(111.3369,98.3438)"
+       id="g102"><path
+         d="M 0,0 -18.375,0 -9.189,-15.824 0,0 z"
+         inkscape:connector-curvature="0"
+         id="path104"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+       transform="translate(69.2861,59.4492)"
+       id="g106"><path
+         d="m 0,0 -9.166,-15.99 18.354,0 L 0,0 z"
+         inkscape:connector-curvature="0"
+         id="path108"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+       id="g110"><g
+         clip-path="url(#clipPath114)"
+         id="g112"><g
+           transform="translate(180.5576,59.5039)"
+           id="g118"><path
+             d="m 0,0 c -1.295,0 -2.502,0.18 -3.615,0.537 -1.106,0.371 -2.071,0.9 -2.889,1.609 -0.814,0.713 -1.455,1.6 -1.92,2.659 -0.455,1.058 -0.678,2.277 -0.678,3.648 l 0,17.135 2.998,0 0,-17.024 c 0,-0.916 0.145,-1.728 0.454,-2.441 C -5.357,5.412 -4.934,4.814 -4.396,4.336 -3.842,3.852 -3.203,3.488 -2.461,3.238 -1.707,2.979 -0.889,2.85 0,2.85 c 0.896,0 1.709,0.129 2.455,0.388 0.75,0.25 1.395,0.614 1.938,1.098 0.541,0.478 0.968,1.076 1.283,1.787 0.314,0.713 0.467,1.525 0.467,2.441 l 0,17.024 3.003,0 0,-17.135 C 9.146,7.082 8.908,5.863 8.439,4.805 7.971,3.746 7.326,2.859 6.506,2.146 5.689,1.437 4.721,0.908 3.613,0.537 2.506,0.18 1.307,0 0,0"
+             inkscape:connector-curvature="0"
+             id="path120"
+             style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+           transform="translate(200.9756,73.959)"
+           id="g122"><path
+             d="m 0,0 3.145,0 c 1.06,0 1.935,0.135 2.623,0.412 0.681,0.277 1.236,0.623 1.64,1.035 0.41,0.407 0.701,0.873 0.871,1.373 0.168,0.502 0.254,0.987 0.254,1.453 0,0.518 -0.14,1.03 -0.418,1.534 C 7.838,6.301 7.465,6.729 6.998,7.104 6.527,7.48 5.963,7.77 5.297,7.988 4.635,8.205 3.93,8.316 3.188,8.316 L 0,8.316 0,0 z m -2.994,-14.166 0,25.299 5.965,0 c 0.812,0 1.722,-0.127 2.726,-0.377 0.992,-0.254 1.932,-0.664 2.799,-1.213 0.865,-0.553 1.592,-1.264 2.168,-2.131 0.58,-0.867 0.865,-1.92 0.865,-3.139 0,-1.818 -0.449,-3.328 -1.351,-4.541 C 9.271,-1.486 7.959,-2.287 6.225,-2.674 l 5.416,-11.492 -3.252,0 -5.311,11.277 -0.615,0 -2.463,0 0,-11.277 -2.994,0 z"
+             inkscape:connector-curvature="0"
+             id="path124"
+             style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+           transform="translate(223.4951,72.4102)"
+           id="g126"><path
+             d="m 0,0 c 0,-1.4 0.26,-2.711 0.771,-3.926 0.522,-1.209 1.235,-2.271 2.137,-3.183 0.905,-0.899 1.961,-1.618 3.16,-2.145 1.202,-0.531 2.5,-0.803 3.866,-0.803 1.377,0 2.662,0.272 3.877,0.803 1.199,0.527 2.253,1.246 3.162,2.145 0.902,0.912 1.607,1.974 2.123,3.183 0.519,1.215 0.773,2.526 0.773,3.926 0,1.393 -0.254,2.699 -0.773,3.914 -0.516,1.219 -1.221,2.281 -2.123,3.203 -0.909,0.916 -1.963,1.639 -3.162,2.168 -1.215,0.528 -2.5,0.793 -3.877,0.793 C 8.568,10.078 7.27,9.813 6.068,9.285 4.869,8.756 3.813,8.033 2.908,7.117 2.006,6.195 1.293,5.133 0.771,3.914 0.26,2.699 0,1.393 0,0 m -3.004,0 c 0,1.752 0.346,3.424 1.016,5.004 0.672,1.572 1.592,2.953 2.759,4.137 1.172,1.179 2.536,2.113 4.104,2.8 1.564,0.684 3.248,1.028 5.027,1.028 1.756,0 3.432,-0.344 5.006,-1.028 1.58,-0.687 2.957,-1.621 4.135,-2.8 1.182,-1.184 2.119,-2.565 2.803,-4.137 0.687,-1.58 1.027,-3.252 1.027,-5.004 0,-1.789 -0.34,-3.463 -1.027,-5.031 -0.684,-1.567 -1.621,-2.932 -2.803,-4.102 -1.178,-1.166 -2.555,-2.092 -
 4.135,-2.758 -1.574,-0.683 -3.25,-1.015 -5.006,-1.015 -1.779,0 -3.463,0.332 -5.027,1.015 -1.568,0.666 -2.932,1.592 -4.104,2.758 -1.167,1.17 -2.087,2.535 -2.759,4.102 -0.67,1.568 -1.016,3.242 -1.016,5.031"
+             inkscape:connector-curvature="0"
+             id="path128"
+             style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+           transform="translate(257.3213,73.959)"
+           id="g130"><path
+             d="M 0,0 3.145,0 C 4.207,0 5.08,0.135 5.768,0.412 6.457,0.689 6.994,1.035 7.406,1.447 7.818,1.854 8.109,2.32 8.277,2.82 8.445,3.322 8.529,3.807 8.529,4.273 8.529,4.791 8.387,5.303 8.109,5.807 7.838,6.301 7.465,6.729 6.994,7.104 6.52,7.48 5.957,7.77 5.297,7.988 4.631,8.205 3.932,8.316 3.188,8.316 L 0,8.316 0,0 z m -3,-14.166 0,25.299 5.957,0 c 0.82,0 1.734,-0.127 2.734,-0.377 1,-0.254 1.938,-0.664 2.805,-1.213 0.861,-0.553 1.588,-1.264 2.168,-2.131 0.572,-0.867 0.867,-1.92 0.867,-3.139 0,-1.818 -0.455,-3.328 -1.353,-4.541 C 9.27,-1.486 7.953,-2.287 6.213,-2.674 l 5.43,-11.492 -3.256,0 -5.315,11.277 -0.609,0 -2.463,0 0,-11.277 -3,0 z"
+             inkscape:connector-curvature="0"
+             id="path132"
+             style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+           transform="translate(157.3545,73.0156)"
+           id="g134"><path
+             d="M 0,0 C -1.854,4.389 -3.719,8.797 -5.596,13.234 -6.105,12.037 -6.6,10.871 -7.104,9.678 l 3.586,-8.463 1.889,-4.424 0.006,0 c 0.705,-1.666 1.406,-3.334 2.117,-5.012 0.709,-1.67 1.41,-3.338 2.113,-5.002 l 3.004,0 C 3.729,-8.787 1.854,-4.375 0,0"
+             inkscape:connector-curvature="0"
+             id="path136"
+             style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+           transform="translate(147.792,69.8066)"
+           id="g138"><path
+             d="m 0,0 1.738,4.076 0.004,0 C 1.994,4.643 2.221,5.205 2.473,5.768 L 0.959,9.336 C 0.09,7.297 -0.781,5.244 -1.639,3.209 -3.486,-1.166 -5.357,-5.578 -7.24,-10.014 l 3,0 c 0.697,1.664 1.402,3.332 2.115,5.002 0.709,1.678 1.414,3.346 2.115,5.012 L 0,0 z"
+             inkscape:connector-curvature="0"
+             id="path140"
+             style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+           transform="translate(293.6025,73.0156)"
+           id="g142"><path
+             d="M 0,0 C -1.855,4.389 -3.723,8.797 -5.596,13.234 -6.105,12.037 -6.605,10.871 -7.102,9.678 l 3.579,-8.463 1.896,-4.424 0.006,0 c 0.699,-1.666 1.402,-3.334 2.113,-5.012 0.707,-1.67 1.41,-3.338 2.115,-5.002 l 2.998,0 C 3.723,-8.787 1.852,-4.375 0,0"
+             inkscape:connector-curvature="0"
+             id="path144"
+             style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+           transform="translate(284.0322,69.8066)"
+           id="g146"><path
+             d="m 0,0 1.746,4.076 0.004,0 C 1.994,4.643 2.229,5.205 2.473,5.768 L 0.967,9.336 C 0.1,7.297 -0.773,5.244 -1.639,3.209 -3.486,-1.166 -5.357,-5.578 -7.232,-10.014 l 3.002,0 c 0.689,1.664 1.402,3.332 2.111,5.002 0.709,1.678 1.416,3.346 2.113,5.012 L 0,0 z"
+             inkscape:connector-curvature="0"
+             id="path148"
+             style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g></g></g><text
+       transform="matrix(1,0,0,-1,296.2891,92.6172)"
+       id="text150"><tspan
+         x="0"
+         y="0"
+         id="tspan152"
+         style="font-size:12.5px;font-variant:normal;font-weight:normal;font-stretch:normal;writing-mode:lr-tb;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Helvetica Neue, Helvetica, Arial, sans-serif">™</tspan></text>
+<text
+       transform="matrix(1,0,0,-1,140.5518,92.6172)"
+       id="text154"><tspan
+         x="0 9.1350002 17.67 24.9 31.620001 39.945"
+         y="0"
+         id="tspan156"
+         style="font-size:15px;font-variant:normal;font-weight:normal;font-stretch:normal;writing-mode:lr-tb;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Helvetica Neue, Helvetica, Arial, sans-serif">Apache</tspan></text>
+</g></svg>
\ No newline at end of file