You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2014/12/17 18:23:54 UTC

[20/50] [abbrv] incubator-brooklyn git commit: add website files, and update the build.sh script appropriately

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b86cbf04/docs/website/learnmore/catalog/locations/brooklyn.policy.followthesun.DefaultFollowTheSunModel$1.html
----------------------------------------------------------------------
diff --git a/docs/website/learnmore/catalog/locations/brooklyn.policy.followthesun.DefaultFollowTheSunModel$1.html b/docs/website/learnmore/catalog/locations/brooklyn.policy.followthesun.DefaultFollowTheSunModel$1.html
new file mode 100644
index 0000000..4bf0fd3
--- /dev/null
+++ b/docs/website/learnmore/catalog/locations/brooklyn.policy.followthesun.DefaultFollowTheSunModel$1.html
@@ -0,0 +1,62 @@
+<!--
+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.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+    <title>Brooklyn Location - brooklyn.policy.followthesun.DefaultFollowTheSunModel$1</title>
+    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/>
+    <link rel="stylesheet" href="../items.css" type="text/css" media="screen"/>
+</head>
+<body>
+<div id="container">
+    <div id="header">
+        <div id="identity">
+            <a href="http://brooklyncentral.github.com/" rel="home">Brooklyn</a>
+        </div>
+    </div>
+    <div id="content" class="objectContent">
+        <h1>brooklyn.policy.followthesun.DefaultFollowTheSunModel$1</h1>
+        <h2 class="typeLabel">Type:</h2><span id="type"></span>
+
+        <h2>Config Keys</h2>
+        <table id="configKeys">
+            <tr>
+                <th>Name</th>
+                <th>Type</th>
+                <th>Default Value</th>
+                <th>Description</th>
+            </tr>
+        </table>
+        <br>
+    </div>
+</div>
+<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js" type="text/javascript"></script>
+<script src="../items.js" type="text/javascript"></script>
+<script type="text/javascript">
+    $(document).ready(function () {
+        var item = $.grep((items.locations), function (entity) {
+            return entity.type == "brooklyn.policy.followthesun.DefaultFollowTheSunModel$1";
+        })[0];
+        $("#type").html(item.type);
+        item.config.forEach(function (element) {
+            $("#configKeys").find("tr:last").after("<tr><td>" + element.name + "</td><td>" + element.type + "</td><td>" + element.defaultValue + "</td><td class='wordWrap'>" + element.description + "</td></tr>")
+        });
+    });
+</script>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b86cbf04/docs/website/learnmore/catalog/policies/brooklyn.policy.autoscaling.AutoScalerPolicy.html
----------------------------------------------------------------------
diff --git a/docs/website/learnmore/catalog/policies/brooklyn.policy.autoscaling.AutoScalerPolicy.html b/docs/website/learnmore/catalog/policies/brooklyn.policy.autoscaling.AutoScalerPolicy.html
new file mode 100644
index 0000000..78a2cb5
--- /dev/null
+++ b/docs/website/learnmore/catalog/policies/brooklyn.policy.autoscaling.AutoScalerPolicy.html
@@ -0,0 +1,59 @@
+<!--
+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.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+  <head>
+    <title>Brooklyn Policy - Auto-scaler</title>
+    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/>
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
+    <link rel="stylesheet" href="../items.css" type="text/css" media="screen"/>
+  </head>
+  <body>
+    <div id="container">
+      <div id="header">
+        <div id="identity">
+          <a href="http://brooklyncentral.github.com/" rel="home">Brooklyn</a>
+        </div>
+      </div>
+
+      <div id="summary"></div>
+
+      <ul class="nav nav-tabs">
+        <li class="active"><a href="#configKeys" data-toggle="tab">Config Keys</a></li>
+      </ul>
+
+      <div class="tab-content">
+        <div id="configKeys"></div>
+      </div>
+
+    </div>
+
+    <script src="../../../style/js/underscore-min.js" type="text/javascript"></script>
+    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js" type="text/javascript"></script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
+    <script src="../common.js" type="text/javascript"></script>
+    <script src="../items.js" type="text/javascript"></script>
+    <script type="text/javascript">
+        $(document).ready(function () {
+            var item = brooklyn.findItemOfType(items.policies, "brooklyn.policy.autoscaling.AutoScalerPolicy");
+            $("#summary").html(brooklyn.typeSummary(item));
+            item.config.forEach(function (element) { $("#configKeys").append(brooklyn.configKeyCard(element)); });
+        });
+    </script>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b86cbf04/docs/website/learnmore/catalog/policies/brooklyn.policy.followthesun.FollowTheSunPolicy.html
----------------------------------------------------------------------
diff --git a/docs/website/learnmore/catalog/policies/brooklyn.policy.followthesun.FollowTheSunPolicy.html b/docs/website/learnmore/catalog/policies/brooklyn.policy.followthesun.FollowTheSunPolicy.html
new file mode 100644
index 0000000..b080d7b
--- /dev/null
+++ b/docs/website/learnmore/catalog/policies/brooklyn.policy.followthesun.FollowTheSunPolicy.html
@@ -0,0 +1,59 @@
+<!--
+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.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+  <head>
+    <title>Brooklyn Policy - Follow the Sun</title>
+    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/>
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
+    <link rel="stylesheet" href="../items.css" type="text/css" media="screen"/>
+  </head>
+  <body>
+    <div id="container">
+      <div id="header">
+        <div id="identity">
+          <a href="http://brooklyncentral.github.com/" rel="home">Brooklyn</a>
+        </div>
+      </div>
+
+      <div id="summary"></div>
+
+      <ul class="nav nav-tabs">
+        <li class="active"><a href="#configKeys" data-toggle="tab">Config Keys</a></li>
+      </ul>
+
+      <div class="tab-content">
+        <div id="configKeys"></div>
+      </div>
+
+    </div>
+
+    <script src="../../../style/js/underscore-min.js" type="text/javascript"></script>
+    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js" type="text/javascript"></script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
+    <script src="../common.js" type="text/javascript"></script>
+    <script src="../items.js" type="text/javascript"></script>
+    <script type="text/javascript">
+        $(document).ready(function () {
+            var item = brooklyn.findItemOfType(items.policies, "brooklyn.policy.followthesun.FollowTheSunPolicy");
+            $("#summary").html(brooklyn.typeSummary(item));
+            item.config.forEach(function (element) { $("#configKeys").append(brooklyn.configKeyCard(element)); });
+        });
+    </script>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b86cbf04/docs/website/learnmore/catalog/policies/brooklyn.policy.ha.ConnectionFailureDetector.html
----------------------------------------------------------------------
diff --git a/docs/website/learnmore/catalog/policies/brooklyn.policy.ha.ConnectionFailureDetector.html b/docs/website/learnmore/catalog/policies/brooklyn.policy.ha.ConnectionFailureDetector.html
new file mode 100644
index 0000000..11ca8de
--- /dev/null
+++ b/docs/website/learnmore/catalog/policies/brooklyn.policy.ha.ConnectionFailureDetector.html
@@ -0,0 +1,59 @@
+<!--
+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.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+  <head>
+    <title>Brooklyn Policy - Connection Failure Detector</title>
+    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/>
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
+    <link rel="stylesheet" href="../items.css" type="text/css" media="screen"/>
+  </head>
+  <body>
+    <div id="container">
+      <div id="header">
+        <div id="identity">
+          <a href="http://brooklyncentral.github.com/" rel="home">Brooklyn</a>
+        </div>
+      </div>
+
+      <div id="summary"></div>
+
+      <ul class="nav nav-tabs">
+        <li class="active"><a href="#configKeys" data-toggle="tab">Config Keys</a></li>
+      </ul>
+
+      <div class="tab-content">
+        <div id="configKeys"></div>
+      </div>
+
+    </div>
+
+    <script src="../../../style/js/underscore-min.js" type="text/javascript"></script>
+    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js" type="text/javascript"></script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
+    <script src="../common.js" type="text/javascript"></script>
+    <script src="../items.js" type="text/javascript"></script>
+    <script type="text/javascript">
+        $(document).ready(function () {
+            var item = brooklyn.findItemOfType(items.policies, "brooklyn.policy.ha.ConnectionFailureDetector");
+            $("#summary").html(brooklyn.typeSummary(item));
+            item.config.forEach(function (element) { $("#configKeys").append(brooklyn.configKeyCard(element)); });
+        });
+    </script>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b86cbf04/docs/website/learnmore/catalog/policies/brooklyn.policy.ha.ServiceReplacer.html
----------------------------------------------------------------------
diff --git a/docs/website/learnmore/catalog/policies/brooklyn.policy.ha.ServiceReplacer.html b/docs/website/learnmore/catalog/policies/brooklyn.policy.ha.ServiceReplacer.html
new file mode 100644
index 0000000..f7f696a
--- /dev/null
+++ b/docs/website/learnmore/catalog/policies/brooklyn.policy.ha.ServiceReplacer.html
@@ -0,0 +1,59 @@
+<!--
+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.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+  <head>
+    <title>Brooklyn Policy - Service Replacer</title>
+    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/>
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
+    <link rel="stylesheet" href="../items.css" type="text/css" media="screen"/>
+  </head>
+  <body>
+    <div id="container">
+      <div id="header">
+        <div id="identity">
+          <a href="http://brooklyncentral.github.com/" rel="home">Brooklyn</a>
+        </div>
+      </div>
+
+      <div id="summary"></div>
+
+      <ul class="nav nav-tabs">
+        <li class="active"><a href="#configKeys" data-toggle="tab">Config Keys</a></li>
+      </ul>
+
+      <div class="tab-content">
+        <div id="configKeys"></div>
+      </div>
+
+    </div>
+
+    <script src="../../../style/js/underscore-min.js" type="text/javascript"></script>
+    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js" type="text/javascript"></script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
+    <script src="../common.js" type="text/javascript"></script>
+    <script src="../items.js" type="text/javascript"></script>
+    <script type="text/javascript">
+        $(document).ready(function () {
+            var item = brooklyn.findItemOfType(items.policies, "brooklyn.policy.ha.ServiceReplacer");
+            $("#summary").html(brooklyn.typeSummary(item));
+            item.config.forEach(function (element) { $("#configKeys").append(brooklyn.configKeyCard(element)); });
+        });
+    </script>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b86cbf04/docs/website/learnmore/catalog/policies/brooklyn.policy.ha.ServiceRestarter.html
----------------------------------------------------------------------
diff --git a/docs/website/learnmore/catalog/policies/brooklyn.policy.ha.ServiceRestarter.html b/docs/website/learnmore/catalog/policies/brooklyn.policy.ha.ServiceRestarter.html
new file mode 100644
index 0000000..e27c023
--- /dev/null
+++ b/docs/website/learnmore/catalog/policies/brooklyn.policy.ha.ServiceRestarter.html
@@ -0,0 +1,59 @@
+<!--
+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.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+  <head>
+    <title>Brooklyn Policy - Service Restarter</title>
+    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/>
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
+    <link rel="stylesheet" href="../items.css" type="text/css" media="screen"/>
+  </head>
+  <body>
+    <div id="container">
+      <div id="header">
+        <div id="identity">
+          <a href="http://brooklyncentral.github.com/" rel="home">Brooklyn</a>
+        </div>
+      </div>
+
+      <div id="summary"></div>
+
+      <ul class="nav nav-tabs">
+        <li class="active"><a href="#configKeys" data-toggle="tab">Config Keys</a></li>
+      </ul>
+
+      <div class="tab-content">
+        <div id="configKeys"></div>
+      </div>
+
+    </div>
+
+    <script src="../../../style/js/underscore-min.js" type="text/javascript"></script>
+    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js" type="text/javascript"></script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
+    <script src="../common.js" type="text/javascript"></script>
+    <script src="../items.js" type="text/javascript"></script>
+    <script type="text/javascript">
+        $(document).ready(function () {
+            var item = brooklyn.findItemOfType(items.policies, "brooklyn.policy.ha.ServiceRestarter");
+            $("#summary").html(brooklyn.typeSummary(item));
+            item.config.forEach(function (element) { $("#configKeys").append(brooklyn.configKeyCard(element)); });
+        });
+    </script>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b86cbf04/docs/website/learnmore/catalog/policies/brooklyn.policy.loadbalancing.LoadBalancingPolicy.html
----------------------------------------------------------------------
diff --git a/docs/website/learnmore/catalog/policies/brooklyn.policy.loadbalancing.LoadBalancingPolicy.html b/docs/website/learnmore/catalog/policies/brooklyn.policy.loadbalancing.LoadBalancingPolicy.html
new file mode 100644
index 0000000..84df363
--- /dev/null
+++ b/docs/website/learnmore/catalog/policies/brooklyn.policy.loadbalancing.LoadBalancingPolicy.html
@@ -0,0 +1,59 @@
+<!--
+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.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+  <head>
+    <title>Brooklyn Policy - Load Balancer</title>
+    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/>
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
+    <link rel="stylesheet" href="../items.css" type="text/css" media="screen"/>
+  </head>
+  <body>
+    <div id="container">
+      <div id="header">
+        <div id="identity">
+          <a href="http://brooklyncentral.github.com/" rel="home">Brooklyn</a>
+        </div>
+      </div>
+
+      <div id="summary"></div>
+
+      <ul class="nav nav-tabs">
+        <li class="active"><a href="#configKeys" data-toggle="tab">Config Keys</a></li>
+      </ul>
+
+      <div class="tab-content">
+        <div id="configKeys"></div>
+      </div>
+
+    </div>
+
+    <script src="../../../style/js/underscore-min.js" type="text/javascript"></script>
+    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js" type="text/javascript"></script>
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
+    <script src="../common.js" type="text/javascript"></script>
+    <script src="../items.js" type="text/javascript"></script>
+    <script type="text/javascript">
+        $(document).ready(function () {
+            var item = brooklyn.findItemOfType(items.policies, "brooklyn.policy.loadbalancing.LoadBalancingPolicy");
+            $("#summary").html(brooklyn.typeSummary(item));
+            item.config.forEach(function (element) { $("#configKeys").append(brooklyn.configKeyCard(element)); });
+        });
+    </script>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b86cbf04/docs/website/learnmore/index.md
----------------------------------------------------------------------
diff --git a/docs/website/learnmore/index.md b/docs/website/learnmore/index.md
new file mode 100644
index 0000000..3befae6
--- /dev/null
+++ b/docs/website/learnmore/index.md
@@ -0,0 +1,11 @@
+---
+layout: website-normal
+title: Learn More
+children:
+- { path: yaml-explained.md }
+- { path: theory.md, title: Theory }
+---
+
+TODO have a list of resources here?  or start w yaml explained?
+
+TODO include { path: catalog/index.html }

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b86cbf04/docs/website/learnmore/theory.md
----------------------------------------------------------------------
diff --git a/docs/website/learnmore/theory.md b/docs/website/learnmore/theory.md
new file mode 100644
index 0000000..9a654e2
--- /dev/null
+++ b/docs/website/learnmore/theory.md
@@ -0,0 +1,177 @@
+---
+layout: website-normal
+title: The Theory behind Brooklyn
+navgroup: Learn More
+---
+
+<div class="jumobotron" markdown="1">
+
+Brooklyn is a framework for modeling, monitoring, and managing applications
+through autonomic blueprints.
+
+</div>
+
+## Why Brooklyn?
+
+Building and deploying applications in the cloud computing era has changed many
+things. Provision a bare server just-in-time, and use automated tools to install
+an application. Use APIs to add the server to a load balancer. When load goes
+up, provision another server; when load drops, kill a server to save money.
+
+Many new tools have appeared that take advantage of this new era. However each
+of them only solve part of the problem and don't consider the big picture. For
+example, configuration management tools such as Chef can, in a single command,
+provision a new cloud server then install and configure an application -- but
+they require extra programming to reconfigure an load balancer whenever the pool
+of web servers changes. Amazon Auto Scaling can provision new servers and update
+load balancers, but it is dependent on CloudWatch -- this means either using
+proxy metrics such as average response time, or writing more code to expose an
+application's real metrics. A dedicated monitoring tool may be able to easily
+monitor the key metrics with little effort, but its alerts will need to be
+integrated it into the server provisioning process.
+
+So all the tools are there to to create and manage a cloud-scale application
+that can adapt to demand to meet user expectations without wasting money on
+superfluous services - but you will need several such tools and it is up to you
+to integrate them into your deployment plan. Some of these tools -- such as the
+Amazon Web Services web of EC2, CloudWatch, AutoScaling and CloudFormation --
+mean that you may suffer from lock-in. Related projects in OpenStack (Heat,
+Ceilometer, Murano, Solum, etc) provide similar functionality but again for a
+restricted target. The most common policies (such as minimising request latency)
+may be easy, but less common policies such as follow-the-sun and follow-the-moon
+may be up to you to implement. Your scaling policies may understand that
+"high demand = add another server", but may not understand requirements such as
+some clustered services requiring an odd number of instances to prevent voting
+deadlocks.
+
+
+## How Brooklyn can help
+
+In this context the advantage of Brooklyn becomes apparent: a single tool is
+able to manage provisioning and application deployment, monitor an application's
+health and metrics, understand the dependencies between components (such as
+knowing that adding a new web server means that the load balancer needs
+reconfiguration) and apply complex policies to manage the application. The tool
+provides a REST API and a GUI, and allows the autonomic blueprints to be treated
+as an integral part of the application. With Brooklyn, these policies become
+modular components which can be reused and easily added to blueprints.
+
+Brooklyn is about deploying and managing applications: composing a full stack
+for an application; deploying to cloud and non-cloud targets; using monitoring
+tools to collect key health/performance metrics; responding to situations
+such as a failing node; and adding or removing capacity to match demand.
+
+
+## Blueprints
+
+A Brooklyn blueprint defines an application, using a declarative YAML syntax
+supporting JVM plugins. A basic blueprint might comprise a single process,
+such as a web-application server running a WAR file or a SQL database and
+its associated DDL scripts. More complex blueprints encompass combinations
+of processes across multiple machines and services, such as a load-balancing
+HTTP server or SDN controller fronting a cluster of J2EE application
+servers, in turn connected to a resilient cluster of SQL database servers.
+Even larger clustered application running in multiple regions can be
+described, with features such as message buses with resilient brokers,
+cacheing tiers of NoSQL key-value store servers, a high-availability
+database cluster and multiple application components connected across these
+layers.
+
+One main benefit of these blueprints is that they are composable:
+best-practice blueprints for one process or pattern (e.g. a Cassandra
+cluster) can be incorporated in other blueprints (e.g. an application with a
+Cassandra cluster as one component). Another major benefit is that the
+blueprints can be treated as source code as part of an applications
+codebase: tested, tracked, versioned, and hardened as an integral part of
+the devops process. In some ways, Brooklyn is to run-time what Maven is to
+build-time.
+
+
+### Blueprints turn into deployments
+
+Brooklyn knows about Chef, Salt, and similar tools, and APT and Yum and
+plain old shell scripts, for deploying application components. Blueprints
+are built from a mixture of both off-the-shelf packages such as Tomcat,
+MySQL, Cassandra, and many more from our library; and components that are
+bespoke to individual applications; together with policies that allow the
+application to be self-managing.
+
+Brooklyn is built for the cloud, and will take a blueprint and deploy it to
+one of many supported clouds or even to multiple different clouds, or to
+private infrastructure (bring-your-own-node), or to other platforms. It will
+dynamically configure and connect all the different components of an
+application, e.g. so load balancers know where the web servers are and the
+web applications know where the database is.
+
+Brooklyn collects key metrics to monitor the health of applications; for
+example, by sending a request and measuring latency, or installing
+monitoring tools and using those to read a server's management interface to
+determine the request queue length. These metrics can be fed into policies,
+which automatically take actions such as restarting a failed node, or
+scaling out the web tier if user demand exceeds capacity. This allows an
+application to be self-managing: to recover itself from simple failures, to
+scale out when demand increases and meet capacity; then scale in as demand
+drops and stop paying for spare capacity.
+
+In short, Brooklyn blueprints allow the best practices for deploying and
+managing complex software to be codified as part of the software development
+process.
+
+
+### Agile and flexible
+
+Brooklyn is a product built from the ground up for application agility. This
+includes portability across non-cloud, cloud, and PaaS targets; devops-style
+infrastructure-as-code applied to applications; and real-time autonomic
+management based on promise theory. Some introductions to these concepts,
+associated tools, and open specifications may be useful.
+
+Cloud computing at its core is about provisioning resources on-demand. The most
+widely known aspect is IaaS (infrastructure-as-a-service) such as Amazon EC2,
+Softlayer, Google Cloud Platform, Apache CloudStack, or OpenStack. By leveraging
+the Apache jclouds project (and contributing heavily to it), the Brooklyn
+project is able to work with a large number of such providers. Higher up the
+stack, however, there is an increasingly diverse set of platform targets, from
+PaaS (platform-as-a-service) such as Cloud Foundry and Apache Stratos, through
+to myriad containers and runtime fabrics such as LXC/Docker, Apache Mesos,
+Apache Karaf, Apache Hadoop, and Apache Usergrid and other backend-as-a-service
+environments. Brooklyn is based on the premise that applications may need to run
+in any or all of these, and the model must be flexible and open enough to
+support this.
+
+The buzzword-compliant trends of agile and devops have reinforced many important
+lessons:
+
+- The truth is in the code (not any ancillary documents)
+- If it isn't tested then assume it isn't working
+- Toolchain integration and APIs are key to a project's success
+- Even more critical is empowering all stakeholders to a project
+- Brooklyn's focus on blueprinting and modeling as code and APIs serves these
+principles.
+
+### Autonomic computing
+
+Another major influence on the design of Brooklyn are the ideas of autonomic
+computing and promise theory. It is not necessary to have a thorough
+understanding of these to use Brooklyn, but contributors tend to become versed
+in these ideas quickly. Essentially, autonomics is based on the concept of
+components looking after themselves where possible (self-healing,
+self-optimizing, etc), and exposing a sensor (data outputs) and effector
+(operations) API where they may need to controlled by another element. Promise
+theory extends this approach by introducing the idea that communicating intent
+(through promises) is a more reliable basis for complex cooperating systems than
+obligation-based effectors. Tools such as CF Engine, Chef, Puppet, Ansible, and
+Salt apply promise theory to files and processes on machines; Brooklyn can
+leverage all of these tools, complementing it with an application-oriented
+model.
+
+### Standards compliant
+
+Finally we note some emerging standards in this area. OASIS CAMP (Cloud
+Application Management for Platforms) and TOSCA (Topology and Orchestration
+Specification for Cloud Applications) both define YAML application models
+similar to Brooklyn's. CAMP focuses on the REST API for interacting with such a
+management layer, and TOSCA focuses on declarative support for more
+sophisticated orchestration. Currently Brooklyn uses a YAML which complies with
+CAMP's syntax and exposes many of the CAMP REST API endpoints. We would like to
+support the hot-off-the-press TOSCA YAML and expand the CAMP REST API coverage.

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b86cbf04/docs/website/learnmore/yaml-explained.md
----------------------------------------------------------------------
diff --git a/docs/website/learnmore/yaml-explained.md b/docs/website/learnmore/yaml-explained.md
new file mode 100644
index 0000000..12d4e17
--- /dev/null
+++ b/docs/website/learnmore/yaml-explained.md
@@ -0,0 +1,9 @@
+---
+layout: website-normal
+title: YAML Explained
+navgroup: Learn More
+---
+
+<div class="jumobotron" markdown="1">
+
+TODO

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b86cbf04/docs/website/quickstart/_my-web-cluster.yaml
----------------------------------------------------------------------
diff --git a/docs/website/quickstart/_my-web-cluster.yaml b/docs/website/quickstart/_my-web-cluster.yaml
new file mode 100644
index 0000000..3b6134b
--- /dev/null
+++ b/docs/website/quickstart/_my-web-cluster.yaml
@@ -0,0 +1,19 @@
+name: My Web Cluster
+location: location
+services:
+
+- serviceType: brooklyn.entity.webapp.ControlledDynamicWebAppCluster
+  name: My Web
+  brooklyn.config:
+    wars.root: http://search.maven.org/remotecontent?filepath=io/brooklyn/example/brooklyn-example-hello-world-sql-webapp/{{ site.data.brooklyn.version }}/brooklyn-example-hello-world-sql-webapp-{{ site.data.brooklyn.version }}.war
+    java.sysprops:
+      brooklyn.example.db.url: >
+        $brooklyn:formatString("jdbc:%s%s?user=%s\\&password=%s",
+        component("db").attributeWhenReady("datastore.url"),
+        "visitors", "brooklyn", "br00k11n")
+
+- serviceType: brooklyn.entity.database.mysql.MySqlNode
+  id: db
+  name: My DB
+  brooklyn.config:
+    creationScriptUrl: https://bit.ly/brooklyn-visitors-creation-script
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b86cbf04/docs/website/quickstart/brooklyn.properties
----------------------------------------------------------------------
diff --git a/docs/website/quickstart/brooklyn.properties b/docs/website/quickstart/brooklyn.properties
new file mode 100644
index 0000000..08a9d7c
--- /dev/null
+++ b/docs/website/quickstart/brooklyn.properties
@@ -0,0 +1,266 @@
+# This is Brooklyn's dot-properties file.
+# It should be located at "~/.brooklyn/brooklyn.properties" for automatic loading,
+# or can be specified as a CLI option with --localProperties /path/to/these.properties.
+
+##################################  Welcome!  ############################################
+
+# It's great to have you here.
+
+# Getting Started options have been pulled to the top. There's a formatting guide at the
+# very bottom.
+
+############################ Getting Started Options  ####################################
+
+# By default we have AWS set up (but with invalid credentials!).  Many, many other
+# providers are supported.
+
+## Amazon EC2 Credentials
+# These should be an "Access Key ID" and "Secret Access Key" for your account.
+# This is configured at https://console.aws.amazon.com/iam/home?#security_credential .
+
+brooklyn.location.jclouds.aws-ec2.identity = AKA_YOUR_ACCESS_KEY_ID
+brooklyn.location.jclouds.aws-ec2.credential = <access-key-hex-digits>
+
+# Beware of trailing spaces in your cloud credentials. This will cause unexpected
+# 401: unauthorized responses.
+
+## Using Other Clouds
+# 1. Cast your eyes down this document to find your preferred cloud in the Named Locations
+#    section, and the examples.
+# 2. Uncomment the relevant line(s) for your provider.
+# 3. ADD  -.identity and -.credential lines for your provider, similar to the AWS ones above,
+#    replacing 'aws-ec2' with jcloud's id for your cloud.
+
+
+## Deploying to Localhost
+## see: brooklyncentral.github.io/use/guide/locations/
+#
+## ~/.ssh/id_rsa is Brooklyn's default location
+# brooklyn.location.localhost.privateKeyFile = ~/.ssh/id_rsa
+## Passphrases are supported, but not required
+# brooklyn.location.localhost.privateKeyPassphrase = s3cr3tpassphrase
+
+## Geoscaling Service - used for the Global Web Fabric demo
+## see: brooklyncentral.github.io/use/examples/global-web-fabric/ and
+## https://www.geoscaling.com/dns2/
+## other services may take similar configuration similarly; or can usually be set in YAML
+# brooklyn.geoscaling.username = USERNAME
+# brooklyn.geoscaling.password = PASSWORD
+# brooklyn.geoscaling.primaryDomain = DOMAIN
+
+
+##########################  Getting Started Complete!  ###################################
+
+# That's it, although you may want to read through these options...
+
+################################ Brooklyn Options ########################################
+
+## Brooklyn Management Base Directory: specify where management data should be stored on this server;
+## ~/.brooklyn/ is the default but you could use something like /opt/brooklyn/state/
+## (provided this process has write permissions) 
+# brooklyn.base.dir=~/.brooklyn/
+
+## Brooklyn On-Box Directory: specify where data should be stored on managed hosts; 
+## for most locations a directory off home is the default (but using /tmp/brooklyn-user/ on localhost),
+## however you could specify something like /opt/brooklyn-managed-process/ (creation and permissions are handled)
+# onbox.base.dir=~/brooklyn-managed-process/
+
+
+## GUI Security
+## NOTE: in production it is highly recommended to set this, as otherwise it will not require login,
+## not will it be encrypted (though for safety if security is not set it will only bind to loopback)
+# brooklyn.webconsole.security.https.required=true
+# brooklyn.webconsole.security.users=admin,bob
+# brooklyn.webconsole.security.user.admin.password=password
+# brooklyn.webconsole.security.user.bob.password=bobsword
+
+## GUI Security: Allow all - if you know what you are doing! (You can also plug in e.g. LDAP security.)
+# brooklyn.webconsole.security.provider = brooklyn.rest.security.provider.AnyoneSecurityProvider
+
+## Optionally disallow deployment to localhost (or any other location)
+# brooklyn.location.localhost.enabled=false
+
+## Scripting Behaviour
+
+## keep scripts around after running them (usually in /tmp) 
+# brooklyn.ssh.config.noDeleteAfterExec = true
+
+## Misc Cloud Settings
+## brooklyn will fail a node if the cloud machine doesn't come up, but you can tell it to retry:
+# brooklyn.location.jclouds.machineCreateAttempts = 3
+## many cloud machines don't have sufficient entropy for lots of encrypted networking, so fake it:
+# brooklyn.location.jclouds.installDevUrandom=true
+
+## Sets a minimium ram property for all jclouds locations. Recommended to avoid getting m1.micros on AWS!
+brooklyn.location.jclouds.minRam = 2048
+
+## When setting up a new cloud machine Brooklyn creates a user with the same name as the user running
+## Brooklyn on the management server, but you can force a different user here:
+# brooklyn.location.jclouds.user=brooklyn
+## And you can force a password or key (by default it will use the keys in ~/.ssh/id_rsa{,.pub}
+# brooklyn.location.jclouds.password=s3cr3t
+
+################################ Named Locations ########################################
+
+# Named locations appear in the web console. If using the command line or YAML it may be 
+# just as easy to use the jclouds:<provider> locations and specify additional properties there.
+
+## Example: AWS Virginia using Rightscale 6.3 64bit Centos AMI and Large Instances
+# brooklyn.location.named.aws-va-centos-large = jclouds:aws-ec2:us-east-1
+# brooklyn.location.named.aws-va-centos-large.imageId=us-east-1/ami-7d7bfc14
+# brooklyn.location.named.aws-va-centos-large.user=brooklyn
+# brooklyn.location.named.aws-va-centos-large.minRam=4096
+
+## You can also nest these:
+# brooklyn.location.named.aws-acct-two = jclouds:aws-ec2
+# brooklyn.location.named.aws-acct-two.identity = AKA_ACCT_TWO
+# brooklyn.location.named.aws-acct-two.credential = <access-key-hex-digits>
+# brooklyn.location.named.aws-acct-two-singapore = named:aws-acct-two
+# brooklyn.location.named.aws-acct-two-singapore.region = ap-southeast-1
+# brooklyn.location.named.aws-acct-two-singapore.displayName = AWS Singapore (Acct Two)
+
+# For convenience some common defaults:
+brooklyn.location.named.aws-california = jclouds:aws-ec2:us-west-1
+brooklyn.location.named.aws-oregon = jclouds:aws-ec2:us-west-2
+brooklyn.location.named.aws-ireland = jclouds:aws-ec2:eu-west-1
+brooklyn.location.named.aws-tokyo = jclouds:aws-ec2:ap-northeast-1
+
+## Google Compute
+## Note at present you have to create and download the P12 key from the Google "APIs & auth -> Registered Apps" interface,
+## then convert to PEM private key format using  `openssl pkcs12 -in Certificates.p12 -out Certificates.pem -nodes`
+## then embed that on one line as the 'credential, replacing new lines with \n as below
+## (hopefully this will be improved in jclouds in the future)
+# brooklyn.location.jclouds.google-compute-engine.identity=1234567890-somet1mesArand0mU1Dhere@developer.gserviceaccount.com
+# brooklyn.location.jclouds.google-compute-engine.credential=-----BEGIN PRIVATE KEY----- \nMIIblahablahblah \nblahblahblah \n-----END PRIVATE KEY-----
+# brooklyn.location.named.Google\ US = jclouds:google-compute-engine
+# brooklyn.location.named.Google\ US.region=us-central1-a
+# brooklyn.location.named.Google\ EU = jclouds:google-compute-engine
+# brooklyn.location.named.Google\ EU.region=europe-west1-a
+## the following flags for GCE are recommended
+## specify the network to use - otherwise it creates new networks each time and you hit quotas pretty quickly
+## you may have to manually create this network AND enable a firewall rule EG  tcp:1-65535;udp:1-65535;icmp  
+## (fix for this is in progress)
+# brooklyn.location.jclouds.google-compute-engine.networkName=brooklyn-default-network
+## gce images have bad entropy, this ensures they have noisy /dev/random (even if the "randomness" is not quite as random)
+# brooklyn.location.jclouds.google-compute-engine.installDevUrandom=true
+## gce images often start with iptables turned on; turn it off 
+# brooklyn.location.jclouds.google-compute-engine.stopIptables=true
+
+## HP Cloud - also Ubuntu 12.04 LTS
+## You specify your HP Credentials like this:
+# brooklyn.location.jclouds.hpcloud-compute.identity = projectname:username
+# brooklyn.location.jclouds.hpcloud-compute.credential = password
+## where username and password are the same as logging in to the web console, and
+## projectname can be found here: https://account.hpcloud.com/projects
+#�brooklyn.location.named.HP\ Cloud\ Arizona-1 = jclouds:hpcloud-compute:az-1.region-a.geo-1
+# brooklyn.location.named.HP\ Cloud\ Arizona-1.imageId = az-1.region-a.geo-1/75845
+# brooklyn.location.named.HP\ Cloud\ Arizona-1.user = ubuntu
+
+## Softlayer - need a key from the gui, under "administrative -> user administration -> api-access 
+# brooklyn.location.jclouds.softlayer.identity=username
+# brooklyn.location.jclouds.softlayer.credential=<private-key-hex-digits>
+## A sample good image, available in all regions
+# brooklyn.location.jclouds.softlayer.imageId=13945
+## locations
+# brooklyn.location.named.Softlayer\ Seattle=jclouds:softlayer:sea01
+# brooklyn.location.named.Softlayer\ Dallas=jclouds:softlayer:dal05
+# brooklyn.location.named.Softlayer\ Washington\ DC=jclouds:softlayer:wdc01
+# brooklyn.location.named.Softlayer\ Singapore\ 1=jclouds:softlayer:sng01
+# brooklyn.location.named.Softlayer\ Amsterdam\ 1=jclouds:softlayer:ams01
+
+
+## Brooklyn uses the jclouds multi-cloud library to access many clouds.
+## http://www.jclouds.org/documentation/reference/supported-providers/
+
+## Templates for many other clouds, but remember to add identity and credentials:
+
+# brooklyn.location.named.Bluelock = jclouds:bluelock-vcloud-zone01
+
+# brooklyn.location.named.CloudSigma\ Nevada = jclouds:cloudsigma-lvs
+# brooklyn.location.named.CloudSigma\ Zurich = jclouds:cloudsigma-zrh
+
+# brooklyn.location.named.ElasticHosts\ London = jclouds:elastichosts-lon-p
+# brooklyn.location.named.ElasticHosts\ Texas = jclouds:elastichosts-sat-p
+
+# brooklyn.location.named.GleSYS = jclouds:glesys
+
+# brooklyn.location.named.Go2Cloud = jclouds:go2cloud-jhb1
+
+# brooklyn.location.named.GoGrid = jclouds:gogrid
+
+# brooklyn.location.named.Green\ House\ Data = jclouds:greenhousedata-element-vcloud
+
+# brooklyn.location.named.Ninefold = jclouds:ninefold-compute
+
+# brooklyn.location.named.OpenHosting = jclouds:openhosting-east1
+
+# brooklyn.location.named.Rackspace\ Chicago\ (ord) = jclouds:rackspace-cloudservers-us:ORD
+# brooklyn.location.named.Rackspace\ Dallas\ (dfw) = jclouds:rackspace-cloudservers-us:DFW
+# brooklyn.location.named.Rackspace\ Hong\ Kong\ (hkg) = jclouds:rackspace-cloudservers-us:HKG
+# brooklyn.location.named.Rackspace\ Northern\ Virginia\ (iad) = jclouds:rackspace-cloudservers-us:IAD
+# brooklyn.location.named.Rackspace\ Sydney\ (syd) = jclouds:rackspace-cloudservers-us:SYD
+## for UK you will need a separate account with rackspace.co.uk
+# brooklyn.location.named.Rackspace\ London\ (lon) = jclouds:rackspace-cloudservers-uk
+
+## if you need to use Rackspace "first gen" API
+## (note the "next gen" api configured above seems to be faster)
+# brooklyn.location.jclouds.cloudservers-us.identity = YOURAPIKEY
+# brooklyn.location.jclouds.cloudservers-us.credential = YOURSECRETKEY
+# brooklyn.location.named.Rackspace\ US\ (First Gen) = jclouds:cloudservers-us
+## and as with next gen, first gen requires a separate acct for the UK:
+# brooklyn.location.jclouds.cloudservers-uk.identity = YOURAPIKEY
+# brooklyn.location.jclouds.cloudservers-uk.credential = YOURSECRETKEY
+# brooklyn.location.named.Rackspace\ UK\ (First Gen) = jclouds:cloudservers-uk
+
+# brooklyn.location.named.SeverLove = jclouds:serverlove-z1-man
+
+# brooklyn.location.named.SkaliCloud = jclouds:skalicloud-sdg-my
+
+# brooklyn.location.named.Stratogen = jclouds:stratogen-vcloud-mycloud
+
+# brooklyn.location.named.TryStack\ (Openstack) = jclouds:trystack-nova
+
+
+## Production pool of machines for my application (deploy to named:On-Prem\ Iron\ Example)
+# brooklyn.location.named.On-Prem\ Iron\ Example=byon:(hosts="10.9.1.1,10.9.1.2,produser2@10.9.2.{10,11,20-29}")
+# brooklyn.location.named.On-Prem\ Iron\ Example.user=produser1
+# brooklyn.location.named.On-Prem\ Iron\ Example.privateKeyFile=~/.ssh/produser_id_rsa
+# brooklyn.location.named.On-Prem\ Iron\ Example.privateKeyPassphrase=s3cr3tpassphrase
+
+## Various Private Clouds
+
+## openstack identity and credential are random strings of letters and numbers (TBC - still the case?)
+# brooklyn.location.named.My\ Openstack=jclouds:openstack-nova:https://9.9.9.9:9999/v2.0/
+
+## cloudstack identity and credential are rather long random strings of letters and numbers
+## you generate this in the cloudstack gui, under accounts, then "view users", then "generate key"
+## use the "api key" as the identity and "secret key" as the credential
+# brooklyn.location.named.My\ Cloudstack=jclouds:cloudstack:http://9.9.9.9:9999/client/api/
+
+## abiquo identity and credential are your login username/passed
+# brooklyn.location.named.My\ Abiquo=jclouds:abiquo:http://demonstration.abiquo.com/api/
+
+###############################  Formatting Guide  #######################################
+
+! Both # and ! mark lines as comments
+# The follow syntax are ALL valid.
+# example_key example_value
+# example_key : example_value
+# example_key = example_value
+# example_key=example_value
+
+# The backslash below tells Brooklyn to continue reading the value onto the next line.
+# example_key = A very \
+#          	long string!
+# Note all white space before 'long...' is ignored. Also '!' is kept as part of the string
+
+
+# Keys with spaces should be escaped with backslashes.
+# This is useful for named locations, as the name displayed in Brooklyn's web
+# interface is derived from the key name.
+# key\ with\ spaces = some\ value
+
+# Encoding for .properties must be ISO-8859-1, aka Latin-1.
+# All non-latin1 characters must be entered using unicode escape characters
+# polish_pangram = P\u00F3jd\u017A\u017Ce, ki\u0144 \
+#                  t\u0119 chmurno\u015B\u0107 w g\u0142\u0105b flaszy!

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b86cbf04/docs/website/quickstart/catalog.xml
----------------------------------------------------------------------
diff --git a/docs/website/quickstart/catalog.xml b/docs/website/quickstart/catalog.xml
new file mode 100644
index 0000000..6cff554
--- /dev/null
+++ b/docs/website/quickstart/catalog.xml
@@ -0,0 +1,22 @@
+<catalog>
+    <name>Brooklyn Demos</name>
+
+
+    <template type="brooklyn.demo.WebClusterDatabaseExample" name="Demo Web Cluster with DB">
+      <description>Deploys a demonstration web application to a managed JBoss cluster with elasticity, persisting to a MySQL</description>
+      <iconUrl>http://downloads.cloudsoftcorp.com/brooklyn/catalog/logos/JBoss_by_Red_Hat.png</iconUrl>
+    </template>
+
+    <template type="brooklyn.demo.GlobalWebFabricExample" name="Demo GeoDNS Web Fabric DB">
+      <description>Deploys a demonstration web application to JBoss clusters around the world</description>
+      <iconUrl>http://downloads.cloudsoftcorp.com/brooklyn/catalog/logos/JBoss_by_Red_Hat.png</iconUrl>
+    </template>
+    
+    <classpath>
+      <entry>https://oss.sonatype.org/service/local/artifact/maven/redirect?r=releases&amp;g=io.brooklyn.example&amp;a=brooklyn-example-simple-web-cluster&amp;v=0.7.0-SNAPSHOT&amp;e=jar</entry> <!-- BROOKLYN_VERSION -->
+      <entry>https://oss.sonatype.org/service/local/artifact/maven/redirect?r=releases&amp;g=io.brooklyn.example&amp;a=brooklyn-example-global-web-fabric&amp;v=0.7.0-SNAPSHOT&amp;e=jar</entry> <!-- BROOKLYN_VERSION -->
+    </classpath>
+
+
+</catalog>
+

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b86cbf04/docs/website/quickstart/images/add-application-catalog-web-cluster-with-db-large.png
----------------------------------------------------------------------
diff --git a/docs/website/quickstart/images/add-application-catalog-web-cluster-with-db-large.png b/docs/website/quickstart/images/add-application-catalog-web-cluster-with-db-large.png
new file mode 100644
index 0000000..b566b1a
Binary files /dev/null and b/docs/website/quickstart/images/add-application-catalog-web-cluster-with-db-large.png differ

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b86cbf04/docs/website/quickstart/images/add-application-catalog-web-cluster-with-db-location-large.png
----------------------------------------------------------------------
diff --git a/docs/website/quickstart/images/add-application-catalog-web-cluster-with-db-location-large.png b/docs/website/quickstart/images/add-application-catalog-web-cluster-with-db-location-large.png
new file mode 100644
index 0000000..05e9b0c
Binary files /dev/null and b/docs/website/quickstart/images/add-application-catalog-web-cluster-with-db-location-large.png differ

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b86cbf04/docs/website/quickstart/images/add-application-catalog-web-cluster-with-db-location.png
----------------------------------------------------------------------
diff --git a/docs/website/quickstart/images/add-application-catalog-web-cluster-with-db-location.png b/docs/website/quickstart/images/add-application-catalog-web-cluster-with-db-location.png
new file mode 100644
index 0000000..c13fdd8
Binary files /dev/null and b/docs/website/quickstart/images/add-application-catalog-web-cluster-with-db-location.png differ

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b86cbf04/docs/website/quickstart/images/add-application-catalog-web-cluster-with-db.png
----------------------------------------------------------------------
diff --git a/docs/website/quickstart/images/add-application-catalog-web-cluster-with-db.png b/docs/website/quickstart/images/add-application-catalog-web-cluster-with-db.png
new file mode 100644
index 0000000..ebb6f42
Binary files /dev/null and b/docs/website/quickstart/images/add-application-catalog-web-cluster-with-db.png differ

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b86cbf04/docs/website/quickstart/images/add-application-modal-yaml.png
----------------------------------------------------------------------
diff --git a/docs/website/quickstart/images/add-application-modal-yaml.png b/docs/website/quickstart/images/add-application-modal-yaml.png
new file mode 100644
index 0000000..c50b7ab
Binary files /dev/null and b/docs/website/quickstart/images/add-application-modal-yaml.png differ

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b86cbf04/docs/website/quickstart/images/jboss7-cluster-policies-large.png
----------------------------------------------------------------------
diff --git a/docs/website/quickstart/images/jboss7-cluster-policies-large.png b/docs/website/quickstart/images/jboss7-cluster-policies-large.png
new file mode 100644
index 0000000..3d84477
Binary files /dev/null and b/docs/website/quickstart/images/jboss7-cluster-policies-large.png differ

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b86cbf04/docs/website/quickstart/images/jboss7-cluster-policies.png
----------------------------------------------------------------------
diff --git a/docs/website/quickstart/images/jboss7-cluster-policies.png b/docs/website/quickstart/images/jboss7-cluster-policies.png
new file mode 100644
index 0000000..2f85328
Binary files /dev/null and b/docs/website/quickstart/images/jboss7-cluster-policies.png differ

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b86cbf04/docs/website/quickstart/images/my-db-activities-large.png
----------------------------------------------------------------------
diff --git a/docs/website/quickstart/images/my-db-activities-large.png b/docs/website/quickstart/images/my-db-activities-large.png
new file mode 100644
index 0000000..c214d9e
Binary files /dev/null and b/docs/website/quickstart/images/my-db-activities-large.png differ

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b86cbf04/docs/website/quickstart/images/my-db-activities.png
----------------------------------------------------------------------
diff --git a/docs/website/quickstart/images/my-db-activities.png b/docs/website/quickstart/images/my-db-activities.png
new file mode 100644
index 0000000..0f2327c
Binary files /dev/null and b/docs/website/quickstart/images/my-db-activities.png differ

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b86cbf04/docs/website/quickstart/images/my-web-cluster-starting.png
----------------------------------------------------------------------
diff --git a/docs/website/quickstart/images/my-web-cluster-starting.png b/docs/website/quickstart/images/my-web-cluster-starting.png
new file mode 100644
index 0000000..c389b0b
Binary files /dev/null and b/docs/website/quickstart/images/my-web-cluster-starting.png differ

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b86cbf04/docs/website/quickstart/images/my-web-cluster-stop-confirm-large.png
----------------------------------------------------------------------
diff --git a/docs/website/quickstart/images/my-web-cluster-stop-confirm-large.png b/docs/website/quickstart/images/my-web-cluster-stop-confirm-large.png
new file mode 100644
index 0000000..c9bdab6
Binary files /dev/null and b/docs/website/quickstart/images/my-web-cluster-stop-confirm-large.png differ

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b86cbf04/docs/website/quickstart/images/my-web-cluster-stop-confirm.png
----------------------------------------------------------------------
diff --git a/docs/website/quickstart/images/my-web-cluster-stop-confirm.png b/docs/website/quickstart/images/my-web-cluster-stop-confirm.png
new file mode 100644
index 0000000..179b00a
Binary files /dev/null and b/docs/website/quickstart/images/my-web-cluster-stop-confirm.png differ

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b86cbf04/docs/website/quickstart/images/my-web-summary-large.png
----------------------------------------------------------------------
diff --git a/docs/website/quickstart/images/my-web-summary-large.png b/docs/website/quickstart/images/my-web-summary-large.png
new file mode 100644
index 0000000..fc4bffe
Binary files /dev/null and b/docs/website/quickstart/images/my-web-summary-large.png differ

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b86cbf04/docs/website/quickstart/images/my-web-summary.png
----------------------------------------------------------------------
diff --git a/docs/website/quickstart/images/my-web-summary.png b/docs/website/quickstart/images/my-web-summary.png
new file mode 100644
index 0000000..e85752f
Binary files /dev/null and b/docs/website/quickstart/images/my-web-summary.png differ

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b86cbf04/docs/website/quickstart/images/my-web.png
----------------------------------------------------------------------
diff --git a/docs/website/quickstart/images/my-web.png b/docs/website/quickstart/images/my-web.png
new file mode 100644
index 0000000..2bd6ac3
Binary files /dev/null and b/docs/website/quickstart/images/my-web.png differ

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b86cbf04/docs/website/quickstart/index.md
----------------------------------------------------------------------
diff --git a/docs/website/quickstart/index.md b/docs/website/quickstart/index.md
new file mode 100644
index 0000000..0c6cc3e
--- /dev/null
+++ b/docs/website/quickstart/index.md
@@ -0,0 +1,215 @@
+---
+title: Getting Started
+layout: website-normal
+children:
+- { path: policies-and-catalogs.md }
+---
+
+This guide will walk you through deploying an application to a public cloud.
+
+We will be deploying an example 3-tier web application, described using this blueprint: 
+
+{% highlight yaml %}
+{% readj _my-web-cluster.yaml %}
+{% endhighlight %}
+
+(This is written in YAML, following the [camp specification](https://www.oasis-open.org/committees/camp/). )
+
+This tutorial assumes that you are using Linux or Mac OSX.
+
+
+## Verify SSH
+
+Brooklyn uses SSH extensively and therefore it is worth making sure that you have a known working SSH setup before
+starting.
+
+Please check the following items:
+
+- If you are using Mac OSX, open System Preferences, go to the Sharing item, and enable 'Remote Login'
+- You have a files named `~/.ssh/id_rsa` and `~/.ssh/id_rsa.pub`
+- `~/.ssh/id_rsa` is NOT readable by any other user
+  - You can verify this with `ls -l ~/.ssh/id_rsa` - the line should start with `-rw-------` or `-r--------`. If it
+    does not, execute `chmod 0600 ~/.ssh/id_rsa`.
+- The file `~/.ssh/authorized_keys` exists and contains a copy of your public key from `~/.ssh/id_rsa.pub`.
+  - Note that it is normal for it to contain other items as well.
+- The key in `~/.ssh/id_rsa` does *not* have a passphrase.
+  - You can test this by executing `ssh-keygen -y`. If it does *not* ask for a passphrase, then your key is OK.
+  - If your key does have a passphrase, remove it. You can do this by running `ssh-keygen -p`. Enter the passphrase,
+    then when prompted for the new passphrase, hit Enter.
+
+Now verify your setup by running the command: `ssh localhost echo hello world`
+
+If you see a message similar to this:
+
+<pre>
+The authenticity of host 'localhost (::1)' can't be established.
+RSA key fingerprint is 7b:e3:8e:c6:5b:2a:05:a1:7c:8a:cf:d1:6a:83:c2:ad.
+Are you sure you want to continue connecting (yes/no)?
+</pre>
+
+then answer 'yes', and then repeat the command run again.
+
+If the response is `hello world`, with no other output or prompts, then your SSH setup is good and Brooklyn should be
+able to use it without a problem.
+
+If these steps are not working, [these instructions]({{ site.data.brooklyn.url.userguide }}/use/guide/locations/) may be
+useful.
+
+
+## Install Brooklyn
+
+Download the [Brooklyn distribution]({{ site.data.brooklyn.url.dist.tgz }}) and expand it to your home directory ( `~/` ), or in a location of your choice. (Other [download options]({{site.path.website}}/download.html) are available.)
+
+{% if brooklyn_version contains 'SNAPSHOT' %}
+Expand the `tar.gz` archive (note: as this is a -SNAPSHOT version, your filename will be slightly different):
+{% else %}
+Expand the `tar.gz` archive:
+{% endif %}
+
+{% if brooklyn_version contains 'SNAPSHOT' %}
+{% highlight bash %}
+$ tar -zxf brooklyn-dist-{{ site.data.brooklyn.version }}-timestamp-dist.tar.gz
+{% endhighlight %}
+{% else %}
+{% highlight bash %}
+$ tar -zxf brooklyn-dist-{{ site.data.brooklyn.version }}-dist.tar.gz
+{% endhighlight %}
+{% endif %}
+
+This will create a `brooklyn-{{ site.data.brooklyn.version }}` folder.
+
+Note: You'll need a Java JRE or SDK installed (version 6 or later), as Brooklyn is Java under the covers.
+
+## Launch Brooklyn
+
+Let's setup some paths for easy commands.
+
+(Click the clipboard on these code snippets for easier c&p.)
+
+{% highlight bash %}
+$ cd brooklyn-{{ site.data.brooklyn.version }}
+$ BROOKLYN_DIR="$(pwd)"
+$ export PATH=$PATH:$BROOKLYN_DIR/bin/
+{% endhighlight %}
+
+We can do a quick test drive by launching Brooklyn:
+
+{% highlight bash %}
+$ brooklyn launch
+{% endhighlight %}
+
+Brooklyn will output the address of the management interface:
+
+
+`INFO  Starting brooklyn web-console on loopback interface because no security config is set`
+
+`INFO  Started Brooklyn console at http://127.0.0.1:8081/, running classpath://brooklyn.war and []`
+
+But before we really use Brooklyn, we need to setup some Locations.
+ 
+Stop Brooklyn with ctrl-c.
+
+## Configuring a Location
+
+Brooklyn deploys applications to Locations.
+
+Locations can be clouds, machines with fixed IPs or localhost (for testing).
+
+Brooklyn loads Location configuration  from `~/.brooklyn/brooklyn.properties`. 
+
+Create a `.brooklyn` folder in your home directory and download the template [brooklyn.properties](brooklyn.properties) to that folder.
+
+{% highlight bash %}
+$ mkdir ~/.brooklyn
+$ cd ~/.brooklyn
+$ wget {{site.url_root}}{{site.path.website}}/quickstart/brooklyn.properties
+{% endhighlight %}
+
+Open brooklyn.properties in a text editor and add your cloud credentials.
+
+Restart Brooklyn:
+
+{% highlight bash %}
+$ brooklyn launch
+{% endhighlight %}
+
+## Launching an Application
+
+There are several ways to deploy a YAML blueprint (including specifying the blueprint on the command line or submitting it via the REST API).
+
+For now, we will simply copy-and-paste the raw YAML blueprint into the web console.
+
+Open the web console ([127.0.0.1:8081](http://127.0.0.1:8081)). As Brooklyn is not currently managing any applications the 'Create Application' dialog opens automatically. Select the YAML tab.
+
+![Brooklyn web console, showing the YAML tab of the Add Application dialog.](images/add-application-modal-yaml.png)
+
+
+### Chose your Cloud / Location
+
+Let's look again at our YAML blueprint:
+
+{% highlight yaml %}
+{% readj _my-web-cluster.yaml %}
+{% endhighlight %}
+
+Copy this document into the large text box on the YAML tab, labelled `Enter CAMP Plan YAML code here`. But *before* you
+submit it, we need to make a modification.
+
+Find the line near the top of the blueprint that starts `location:`. Change the line to name a location. For example,
+one of these lines:
+
+{% highlight yaml %}
+location: aws-ec2:us-east-1
+location: rackspace-cloudservers-us:ORD
+location: google-compute-engine:europe-west1-a
+location: localhost
+{% endhighlight %}
+
+**My Web Cluster Blueprint**
+
+With the modified YAML in the dialog, click 'Finish'. The dialog will close and Brooklyn will begin deploying your
+application. Your application will be shown as 'Starting' on the web console's front page.
+
+![My Web Cluster is STARTING.](images/my-web-cluster-starting.png)
+
+
+## Monitoring and Managing Applications
+
+Click on the application name, or open the Applications tab.
+
+We can explore the management hierarchy of the application, which will show us the entities it is composed of.
+
+ * My Web Cluster (A `BasicApplication`)
+     * My DB (A `MySqlNode`)
+     * My Web (A `ControlledDynamicWebAppCluster`)
+        * Cluster of JBoss7 Servers (A `DynamicWebAppCluster`)
+        * NginxController (An `NginxController`)
+
+
+
+Clicking on the 'My Web' entity will show the Summary tab. Here we can see if the cluster is ready to serve and, when ready, grab the web address for the front of the loadbalancer.
+
+![Exploring My Web.](images/my-web.png)
+
+
+The Activity tab allows us to drill down into what activities each entity is currently doing or has recently done. It is possible to drill down to all child tasks, and view the commands issued, and any errors or warnings that occured.
+
+Drill into the 'My DB' start operation. Working down through  'Start (processes)', then 'launch', we can discover the ssh command used including the stdin, stdout and stderr.
+
+[![My DB Activities.](images/my-db-activities.png)](images/my-db-activities-large.png)
+
+
+## Stopping the Application
+
+To stop an application, select the application in the tree view (the top/root entity), click on the Effectors tab, and invoke the 'Stop' effector. This will cleanly shutdown all components in the application and return any cloud machines that were being used.
+
+[![My DB Activities.](images/my-web-cluster-stop-confirm.png)](images/my-web-cluster-stop-confirm-large.png)
+
+
+### Next 
+
+So far we have touched on Brooklyn's ability to *deploy* an application blueprint to a cloud provider, but this a very small part of Brooklyn's capabilities!
+
+Brooklyn's real power is in using Policies to automatically *manage* applications. There is also the (very useful) ability to store a catalog of application blueprints, ready to go.
+
+[Getting Started - Policies and Catalogs](policies-and-catalogs.html)

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b86cbf04/docs/website/quickstart/policies-and-catalogs.md
----------------------------------------------------------------------
diff --git a/docs/website/quickstart/policies-and-catalogs.md b/docs/website/quickstart/policies-and-catalogs.md
new file mode 100644
index 0000000..d1dbd55
--- /dev/null
+++ b/docs/website/quickstart/policies-and-catalogs.md
@@ -0,0 +1,67 @@
+---
+title: Policies and Catalogs
+layout: website-normal
+---
+
+In the [previous step](index.html) we downloaded Brooklyn and used it to deploy an application to a cloud, but at its heart Brooklyn is a policy driven *management* plane.
+
+Here we will introduce Polices using a simple demo app, which we will load from a Service Catalog.
+
+We strongly advise that you complete [the first tutorial](index.html) before proceeding with this one, to make sure that
+your machine is correctly configured to be able to run Brooklyn applications. Like the previous tutorial, we are also
+assuming that you are running Linux or Mac OSX.
+
+
+## Service Catalogs
+
+Download the template [catalog.xml](catalog.xml) to your `~/.brooklyn/` folder, and relaunch Brooklyn.
+
+{% highlight bash %}
+$ cd ~/.brooklyn
+$ wget {{site.data.brooklyn.url.userguide}}/use/guide/quickstart/catalog.xml
+
+$ brooklyn launch
+{% endhighlight %}
+
+Now when we open the web console, two applications are displayed from the catalog.
+
+Select the 'Demo Web Cluster with DB' and click 'Next'.
+
+[![Viewing Catalog entries in Add Application dialog.](images/add-application-catalog-web-cluster-with-db.png)](add-application-catalog-web-cluster-with-db-largea.png)
+
+Select the Location that Brooklyn should deploy to, and name your application:
+
+[![Selecting a location and application name.](images/add-application-catalog-web-cluster-with-db-location.png)](images/add-application-catalog-web-cluster-with-db-location-large.png)
+
+Click 'Finish' to launch the application as before.
+
+
+### Exploring and Testing Policies
+
+The Demo Web Cluster with DB application is pre-configured with two polices.
+
+The app server cluster has an `AutoScalerPolicy`, and the loadbalancer has a `targets` policy.
+
+Use the Applications tab in the web console to drill down into the Policies section of the ControlledDynamicWebAppCluster's Cluster of JBoss7Servers.
+
+You will see that the `AutoScalerPolicy` is running.
+
+[![Inspecting the jboss7 cluster policies.](images/jboss7-cluster-policies.png)](images/jboss7-cluster-policies-large.png)
+
+
+This policy automatically scales the cluster up or down to be the right size for the cluster's current load. (One server is the minimum size allowed by the policy.)
+
+The loadbalancer's `targets` policy ensures that the loadbalancer is updated as the cluster size changes.
+
+Sitting idle, this cluster will only contain one server, but you can use a tool like [jmeter](http://jmeter.apache.org/) pointed at the nginx endpoint to create load on the cluster. (Download a [jmeter test plan](https://github.com/brooklyncentral/brooklyn/blob/master/examples/simple-web-cluster/resources/jmeter-test-plan.jmx).)
+
+As load is added, Brooklyn requests a new cloud machine, creates a new app server, and adds it to the cluster. As load is removed, servers are removed from the cluster, and the infrastructure is handed back to the cloud.
+
+### Next
+
+The [Elastic Web Cluster Example]({{site.data.brooklyn.url.userguide}}/use/examples/webcluster/index.html) page
+details how to build this demo application from scratch in Java. It shows in more detail how Brooklyn can
+complement your application with policy driven management, and how applications can be
+run from the command line.
+
+