brooklyn-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rich...@apache.org
Subject [2/2] git commit: Initial website source
Date Mon, 23 Jun 2014 16:36:29 GMT
Initial website source


Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn-site/commit/3f9fcc7d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn-site/tree/3f9fcc7d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn-site/diff/3f9fcc7d

Branch: refs/heads/master
Commit: 3f9fcc7ddb686bb2e64e74de21e5bcd05ac5e1cd
Parents: 
Author: Richard Downer <richard@apache.org>
Authored: Mon Jun 23 17:32:20 2014 +0100
Committer: Richard Downer <richard@apache.org>
Committed: Mon Jun 23 17:32:20 2014 +0100

----------------------------------------------------------------------
 _config.yml                                     |   2 +
 _includes/fields.md                             |  38 ++
 _layouts/base.html                              |  59 ++++
 _layouts/homepage.html                          |  21 ++
 _layouts/normal.html                            |  13 +
 _plugins/read.rb                                |  60 ++++
 community/committers.md                         | 107 ++++++
 community/fork-after.png                        | Bin 0 -> 134377 bytes
 community/fork-before.png                       | Bin 0 -> 131674 bytes
 community/fork-new.png                          | Bin 0 -> 137626 bytes
 community/how-to-contribute.md                  |  85 +++++
 community/index.md                              |  73 ++++
 community/migrate-to-apache.md                  | 118 +++++++
 community/pull-request.png                      | Bin 0 -> 94166 bytes
 documentation.md                                |  13 +
 download.md                                     |  71 ++++
 index.md                                        |  40 +++
 learnmore.md                                    | 178 ++++++++++
 quickstart/brooklyn.properties                  | 266 ++++++++++++++
 quickstart/catalog.xml                          |  22 ++
 ...cation-catalog-web-cluster-with-db-large.png | Bin 0 -> 131618 bytes
 ...talog-web-cluster-with-db-location-large.png | Bin 0 -> 152721 bytes
 ...ion-catalog-web-cluster-with-db-location.png | Bin 0 -> 86425 bytes
 ...-application-catalog-web-cluster-with-db.png | Bin 0 -> 76065 bytes
 .../images/add-application-modal-yaml.png       | Bin 0 -> 68401 bytes
 .../images/jboss7-cluster-policies-large.png    | Bin 0 -> 157883 bytes
 quickstart/images/jboss7-cluster-policies.png   | Bin 0 -> 94056 bytes
 quickstart/images/my-db-activities-large.png    | Bin 0 -> 208313 bytes
 quickstart/images/my-db-activities.png          | Bin 0 -> 130262 bytes
 quickstart/images/my-web-cluster-starting.png   | Bin 0 -> 32948 bytes
 .../my-web-cluster-stop-confirm-large.png       | Bin 0 -> 148155 bytes
 .../images/my-web-cluster-stop-confirm.png      | Bin 0 -> 79280 bytes
 quickstart/images/my-web-summary-large.png      | Bin 0 -> 178785 bytes
 quickstart/images/my-web-summary.png            | Bin 0 -> 80583 bytes
 quickstart/images/my-web.png                    | Bin 0 -> 83081 bytes
 quickstart/index.md                             | 180 ++++++++++
 quickstart/my-web-cluster.yaml                  |  19 +
 quickstart/policies-and-catalogs.md             |  65 ++++
 style/css/bootstrap-theme.css                   | 347 +++++++++++++++++++
 style/css/new-style.css                         | 122 +++++++
 style/css/theme.css                             |  31 ++
 style/fonts/glyphicons-halflings-regular.eot    | Bin 0 -> 20335 bytes
 style/fonts/glyphicons-halflings-regular.svg    | 229 ++++++++++++
 style/fonts/glyphicons-halflings-regular.ttf    | Bin 0 -> 41280 bytes
 style/fonts/glyphicons-halflings-regular.woff   | Bin 0 -> 23320 bytes
 style/img/bridge-large-no-title.png             | Bin 0 -> 66113 bytes
 style/img/brooklyn-logo-150px.png               | Bin 0 -> 2665 bytes
 style/js/selectNav.js                           |  14 +
 48 files changed, 2173 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn-site/blob/3f9fcc7d/_config.yml
----------------------------------------------------------------------
diff --git a/_config.yml b/_config.yml
new file mode 100644
index 0000000..ce7524b
--- /dev/null
+++ b/_config.yml
@@ -0,0 +1,2 @@
+exclude: ['LICENSE.md', 'README.md']
+url: https://brooklyn.incubator.apache.org/

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn-site/blob/3f9fcc7d/_includes/fields.md
----------------------------------------------------------------------
diff --git a/_includes/fields.md b/_includes/fields.md
new file mode 100644
index 0000000..c2f2e2d
--- /dev/null
+++ b/_includes/fields.md
@@ -0,0 +1,38 @@
+{% capture brooklyn_version %}0.7.0-SNAPSHOT{% endcapture %}
+
+{% if brooklyn_version contains 'SNAPSHOT' %}{% capture SNAPSHOT %}true{% endcapture %}{% endif %}
+
+{% capture brooklyn_examples_branch %}{% if SNAPSHOT %}{{ site.brooklyn-snapshot-git-branch }}{% else %}{{ brooklyn_version }}{% endif %}{% endcapture %}
+
+{% capture cloudsoft_snapshots_base_url %}http://developers.cloudsoftcorp.com/maven/snapshots/{% endcapture %}
+{% capture cloudsoft_releases_base_url %}http://developers.cloudsoftcorp.com/maven/releases/{% endcapture %}
+{% capture cloudsoft_this_version_base_url %}http://developers.cloudsoftcorp.com/maven/{% if SNAPSHOT %}snapshots/{% else %}releases/{% endif %}{% endcapture %}
+
+{% capture cloudsoft_this_version_groupid_url %}{{ cloudsoft_this_version_base_url }}io/brooklyn/{% endcapture %}
+{% capture cloudsoft_this_dist_url_dir %}{{ cloudsoft_this_version_groupid_url }}brooklyn-dist/{{ brooklyn_version }}/{% endcapture %}
+{% capture cloudsoft_this_alljar_url_dir %}{{ cloudsoft_this_version_groupid_url }}brooklyn-all/{{ brooklyn_version }}/{% endcapture %}
+
+<!--- both snapshots and releases -->
+{% capture sonatype_repo_groupid_url %}https://oss.sonatype.org/content/groups/public/io/brooklyn/{% endcapture %}
+<!--- releases --> 
+{% capture mavencentral_repo_groupid_url %}http://repo1.maven.org/maven2/io/brooklyn/{% endcapture %}
+
+{% if SNAPSHOT %}
+  {% capture this_anything_url_search %}https://oss.sonatype.org/index.html#nexus-search;gav~io.brooklyn~~{{ brooklyn_version }}~~{% endcapture %}
+  {% capture this_dist_url_search %}https://oss.sonatype.org/index.html#nexus-search;gav~io.brooklyn~brooklyn-dist~{{ brooklyn_version }}~~{% endcapture %}
+  {% capture this_alljar_url_search %}https://oss.sonatype.org/index.html#nexus-search;gav~io.brooklyn~brooklyn-dist~{{ brooklyn_version }}~~{% endcapture %}
+  {% capture this_dist_url_dir %}{{ sonatype_repo_groupid_url }}brooklyn-dist/{{ brooklyn_version }}/{% endcapture %}
+  {% capture this_alljar_url_dir %}{{ sonatype_repo_groupid_url }}brooklyn-all/{{ brooklyn_version }}/{% endcapture %}
+  {% capture this_dist_url_zip %}https://oss.sonatype.org/service/local/artifact/maven/redirect?r=snapshots&g=io.brooklyn&v={{ brooklyn_version }}&a=brooklyn-dist&c=dist&e=zip{% endcapture %}
+  {% capture this_dist_url_tgz %}https://oss.sonatype.org/service/local/artifact/maven/redirect?r=snapshots&g=io.brooklyn&v={{ brooklyn_version }}&a=brooklyn-dist&c=dist&e=tar.gz{% endcapture %}
+  {% capture this_alljar_url_jar  %}https://oss.sonatype.org/service/local/artifact/maven/redirect?r=snapshots&g=io.brooklyn&v={{ brooklyn_version }}&a=brooklyn-all&c=with-dependencies&e=jar{% endcapture %}
+{% else %}<!--- RELEASE -->
+  {% capture this_anything_url_search %}http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22io.brooklyn%22%20AND%20v%3A%22{{ brooklyn_version }}%22{% endcapture %}
+  {% capture this_dist_url_search %}http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22io.brooklyn%22%20AND%20a%3A%22brooklyn-dist%22%20AND%20v%3A%22{{ brooklyn_version }}%22{% endcapture %}
+  {% capture this_alljar_url_search %}http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22io.brooklyn%22%20AND%20a%3A%22brooklyn-all%22%20AND%20v%3A%22{{ brooklyn_version }}%22{% endcapture %}
+  {% capture this_dist_url_dir %}{{ mavencentral_repo_groupid_url }}brooklyn-dist/{{ brooklyn_version }}/{% endcapture %}
+  {% capture this_alljar_url_dir %}{{ mavencentral_repo_groupid_url }}brooklyn-all/{{ brooklyn_version }}/{% endcapture %}
+  {% capture this_dist_url_zip %}{{ mavencentral_repo_groupid_url }}brooklyn-dist/{{ brooklyn_version }}/brooklyn-dist-{{ brooklyn_version }}-dist.zip{% endcapture %}
+  {% capture this_dist_url_tgz %}{{ mavencentral_repo_groupid_url }}brooklyn-dist/{{ brooklyn_version }}/brooklyn-dist-{{ brooklyn_version }}-dist.tar.gz{% endcapture %}
+  {% capture this_alljar_url_jar %}{{ mavencentral_repo_groupid_url }}brooklyn-all/{{ brooklyn_version }}/brooklyn-all-{{ brooklyn_version }}-with-dependencies.jar{% endcapture %}
+{% endif %}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn-site/blob/3f9fcc7d/_layouts/base.html
----------------------------------------------------------------------
diff --git a/_layouts/base.html b/_layouts/base.html
new file mode 100644
index 0000000..ee85ea0
--- /dev/null
+++ b/_layouts/base.html
@@ -0,0 +1,59 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+<title>{{ page.title }} - Apache Brooklyn (incubating)</title>
+<meta http-equiv="content-type" content="text/html; charset=utf-8">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
+<link href="{{site.url}}style/css/bootstrap-theme.css" rel="stylesheet">
+<link href="{{site.url}}style/css/theme.css" rel="stylesheet">
+</head>
+
+<body>
+
+<nav class="navbar navbar-default navbar-fixed-top" id="header" role="navigation">
+    <div class="container">
+        <div class="container-fluid">
+            <!-- Brand and toggle get grouped for better mobile display -->
+            <div class="navbar-header">
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+                <a class="navbar-brand" href="{{site.url}}">Apache <img src="{{site.url}}style/img/brooklyn-logo-150px.png" alt="brooklyn"></a>
+            </div>
+
+            <!-- Collect the nav links, forms, and other content for toggling -->
+            <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+                <ul class="nav navbar-nav navbar-right">
+                    <li class="{% if page.navgroup == 'learnmore' %}active{% endif %}"><a href="{{site.url}}learnmore.html">learn more</a></li>
+                    <li class="{% if page.navgroup == 'download' %}active{% endif %}"><a href="{{site.url}}download.html">download</a></li>
+                    <li class="{% if page.navgroup == 'getstarted' %}active{% endif %}"><a href="{{site.url}}quickstart/">get started</a></li>
+                    <li class="{% if page.navgroup == 'docs' %}active{% endif %}"><a href="{{site.url}}documentation.html">documentation</a></li>
+                    <li class="{% if page.navgroup == 'community' %}active{% endif %}"><a href="{{site.url}}community/">community</a></li>
+                </ul>
+            </div><!-- /.navbar-collapse -->
+        </div><!-- /.container-fluid -->
+    </div>
+</nav>
+
+{{ content }}
+
+<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
+<script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
+<script language="JavaScript" type="application/javascript">
+    $(window).resize(function () { 
+        $('body').css('padding-top', parseInt($('#header').css("height"))+10);
+        $('body').css('padding-bottom', parseInt($('#footer').css("height"))+10);
+    });
+    
+    $(window).load(function () { 
+        $('body').css('padding-top', parseInt($('#header').css("height"))+10);        
+        $('body').css('padding-bottom', parseInt($('#footer').css("height"))+10);
+    });</script>
+</body>
+</html>
+

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn-site/blob/3f9fcc7d/_layouts/homepage.html
----------------------------------------------------------------------
diff --git a/_layouts/homepage.html b/_layouts/homepage.html
new file mode 100644
index 0000000..0e7f4a6
--- /dev/null
+++ b/_layouts/homepage.html
@@ -0,0 +1,21 @@
+---
+layout: base
+---
+<div class="container slightlyNarrowContainer">
+    {{ content }}
+</div>
+
+<div id="footer">
+    <div class="container" class="text-muted">
+        <div style="float:right"><img src="https://incubator.apache.org/images/egg-logo.png" alt="Apache Incubator"></div>
+        <p>
+            Apache Brooklyn 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.
+            Apache Brooklyn is distributed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License v2.0</a>.
+        </p>
+        <div class="clearfix"></div>
+    </div>
+</div>

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn-site/blob/3f9fcc7d/_layouts/normal.html
----------------------------------------------------------------------
diff --git a/_layouts/normal.html b/_layouts/normal.html
new file mode 100644
index 0000000..7281956
--- /dev/null
+++ b/_layouts/normal.html
@@ -0,0 +1,13 @@
+---
+layout: base
+---
+<div class="container">
+    <h1>{{ page.title }}</h1>
+    {{ content }}
+</div>
+
+<div id="footer">
+    <div class="container">
+        <p class="text-muted">Apache Brooklyn is distributed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License v2.0</a>. Apache Brooklyn is currently undergoing Incubation at the Apache Software Foundation.</p>
+    </div>
+</div>

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn-site/blob/3f9fcc7d/_plugins/read.rb
----------------------------------------------------------------------
diff --git a/_plugins/read.rb b/_plugins/read.rb
new file mode 100644
index 0000000..6ad390a
--- /dev/null
+++ b/_plugins/read.rb
@@ -0,0 +1,60 @@
+# tag to read and insert a file relative to the current working directory
+# (like include, but in the dir where it is invoked)
+
+# there is also readj which reads a file and applies jekyll processing to it
+# handy if we want to include a toc.json file which itself calls {% readj child/toc.json %}
+# (note however variables do not seem to be exported when use readj (TODO),
+# although they are exported if you have _includes/file.md and use the standard include file)
+
+# the argument can be a variable or a filename literal (not quoted)
+# TODO: figure out how to accept a quoted string as an argument
+
+module JekyllRead
+  class ReadTag < Liquid::Tag
+    def initialize(tag_name, text, tokens)
+      super
+      @text = text
+    end
+    def render(context)
+	jekyllSite = context.registers[:site]
+	dir = jekyllSite.source+'/'+File.dirname(context['page']['url'])
+	filename = @text.strip
+        filename = context[filename] || filename
+	if !filename.match(/^\/.*/) 
+		filename = dir + '/' + filename
+	else
+		filename = jekyllSite.source+'/'+filename
+	end
+	filename = filename.gsub(/\/\/+/,'/')
+	file = File.open(filename, "rb")
+	return file.read
+    end
+  end
+
+  class ReadjTag < Liquid::Tag
+    def initialize(tag_name, text, tokens)
+      super
+      @text = text
+    end
+    def render(context)
+	jekyllSite = context.registers[:site]
+	filename = @text.strip
+	filename = context[filename] || filename
+# support vars (above) and relative paths in filename (below - need the right path if there is a subsequent link)
+        dir = filename
+	if !filename.match(/^\/.*/) 
+		dir = File.dirname(context['page']['url']) + '/' + filename
+	end
+	dir = dir.gsub(/\/\/+/,'/')
+	filename = dir.sub(/^.*\//, '')
+	dir = dir.gsub(/\/[^\/]*$/, '/')
+	targetPage = Jekyll::Page.new(jekyllSite, jekyllSite.source, dir, filename)
+	targetPage.render(jekyllSite.layouts, jekyllSite.site_payload)
+	targetPage.output
+    end
+  end
+end
+
+Liquid::Template.register_tag('read', JekyllRead::ReadTag)
+Liquid::Template.register_tag('readj', JekyllRead::ReadjTag)
+

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn-site/blob/3f9fcc7d/community/committers.md
----------------------------------------------------------------------
diff --git a/community/committers.md b/community/committers.md
new file mode 100644
index 0000000..b68511e
--- /dev/null
+++ b/community/committers.md
@@ -0,0 +1,107 @@
+---
+layout: normal
+title: Committer's Guide
+navgroup: community
+---
+
+The Apache Brooklyn Git repositories are hosted in the ASF infrastructure and mirrored to Github. This is the current
+repository layout:
+
+- [Apache](https://git-wip-us.apache.org/repos/asf?s=incubator-brooklyn) - the main and official repository
+- [GitHub](https://github.com/apache/incubator-brooklyn) - mirror of the ASF repository, used to accept contributions
+  and do code reviews
+
+
+Before
+------
+
+For everything except the most trivial changes, the submitter must have a CLA on file. Check the [list of Apache
+committers, and non-commiters with ICLAs on record](https://people.apache.org/committer-index.html) and prompt the
+contributor to file an appropriate CLA if required.
+
+For all significant changes, there must be a Jira issue. If a Jira issue is not referenced in the PR and/or commit
+messages, prompt the contributor to open a Jira issue.
+
+
+Rules of thumb
+--------------
+
+1. Every contribution is a piece of intellectual property.  This is the precious sustenance that nourishes our
+   project.  Please treat it with respect.
+2. Always give credit where it is due, ensure every merged commit reflects properly the individual who authored that
+   commit.  Preserve both the name and email address.
+3. Ensure your name and email address are there as the committer prior to pushing it to the Apache repositories.
+4. Always strive for linear commit history, avoid merge commits while pulling in contributor's changes.
+
+
+Setting up your repository
+--------------------------
+
+Clone the canonical ASF repo using this command. The `--origin` option tells git to name the remote `apache` instead
+of the default, `origin`; this will reduce ambiguity when we later add a second remote upstream.
+
+    git clone --origin apache https://git-wip-us.apache.org/repos/asf/incubator-brooklyn.git
+
+Add a second remote, for the GitHub repository.
+
+    git remote add github https://github.com/apache/incubator-brooklyn.git
+
+Edit the `.git/config` file and modify the `[remote "github"]` section like this - this will cause every pull request
+to be made available as a remote branch in your workspace.
+
+    [remote "github"]
+    url = https://github.com/apache/incubator-brooklyn.git
+        fetch = +refs/heads/*:refs/remotes/github/*
+        fetch = +refs/pull/*/head:refs/remotes/github/pr/*
+
+Finally, run `git fetch --all` to update from all remote repositories - you will see all the pull requests appear:
+
+    * [new ref]         refs/pull/98/head -> github/pr/98
+    * [new ref]         refs/pull/99/head -> github/pr/99
+
+
+Merging a pull request
+----------------------
+
+Fetch the latest remote branches, which will cause a remote branch for the PR to become available to you.
+
+    git fetch --all
+
+If you want to inspect the PR and/or run tests, check out the branch:
+
+    git checkout pull/github/1234
+
+To perform the merge, first update your master branch to the latest:
+
+    git checkout master
+    git pull --rebase
+
+Then merge and push:
+
+    git merge pull/github/1234
+    git push apache master
+
+
+Alternative options
+-------------------
+
+### Adding the remote reference to the contributor's repository
+
+Fetch the branch of the user you want to merge from
+
+    git fetch https://github.com/user-to-merge-from/incubator-brooklyn.git branch-to-merge-from
+
+If you commonly merge from a particular user, you'll want to add their repo as a remote to make fetching branches easier.
+
+    git remote add user-to-merge-from https://github.com/user-to-merge-from/incubator-brooklyn.git
+    git fetch user-to-merge-from
+
+
+### Merging from a patch file
+
+Save the patch from the Github patch link (just append '.patch' to the pull request link to get it). This patch will
+keep the authorship of the commit, so we should use it instead of the diff.
+
+Apply the patch preserving the original author:
+
+    git am pull-request-9876.patch

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn-site/blob/3f9fcc7d/community/fork-after.png
----------------------------------------------------------------------
diff --git a/community/fork-after.png b/community/fork-after.png
new file mode 100644
index 0000000..3148ff3
Binary files /dev/null and b/community/fork-after.png differ

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn-site/blob/3f9fcc7d/community/fork-before.png
----------------------------------------------------------------------
diff --git a/community/fork-before.png b/community/fork-before.png
new file mode 100644
index 0000000..276eb9d
Binary files /dev/null and b/community/fork-before.png differ

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn-site/blob/3f9fcc7d/community/fork-new.png
----------------------------------------------------------------------
diff --git a/community/fork-new.png b/community/fork-new.png
new file mode 100644
index 0000000..34c2053
Binary files /dev/null and b/community/fork-new.png differ

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn-site/blob/3f9fcc7d/community/how-to-contribute.md
----------------------------------------------------------------------
diff --git a/community/how-to-contribute.md b/community/how-to-contribute.md
new file mode 100644
index 0000000..effdbcc
--- /dev/null
+++ b/community/how-to-contribute.md
@@ -0,0 +1,85 @@
+---
+layout: normal
+title: How to contribute
+navgroup: community
+---
+
+Welcome and thank you for your interest in contributing to Apache Brooklyn! This guide will take you through the
+process of making contributions to the Apache Brooklyn code base.
+
+
+Contributor license agreement
+-----------------------------
+
+Apache Brooklyn is licensed under the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). All
+contributions will be under this license, so please read and understand this license before contributing.
+
+For all but the most trivial patches, you are required to file a Contributor License Agreement with the Apache
+Software Foundation. Please read the [guide to CLAs](https://www.apache.org/licenses/#clas) to find out how to file a
+CLA with the Foundation.
+
+
+Before you start
+----------------
+
+### Join the community
+
+If it's your first contribution or it's a particularly big or complex contribution, things typically go much more
+smoothly when they start off with a conversation. Visit our [Community](index.html) page to see how you can contact
+us via IRC or email.
+
+### Create an issue in Jira
+
+Your first step is to create or find an issue in [Brooklyn's Jira](https://issues.apache.org/jira/browse/BROOKLYN)
+for your feature request or fix. For small changes this isn't necessary, but it's good to see if your change fixes an
+existing issue anyway.
+
+
+### Contributing using GitHub
+
+This is our preferred way for contributing code. Our GitHub repository is located at
+[https://github.com/apache/incubator-brooklyn](https://github.com/apache/incubator-brooklyn)
+
+Your commit messages must properly describes the changes that have been made and their purpose
+([here are some guidelines](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)). If your
+contributions fix a Jira issue, then ensure that you reference the issue (like `BROOKLYN-9876`) in the commit message.
+
+Create a pull request (PR) in GitHub for the change you're interested in making. The comment section of the PR must
+contain a link to the Jira issue (if it has one).
+
+Some good references for working with GitHub are below.  We ask that you keep your change rebased to master as much
+as possible, and we will ask you to rebase again if master has moved before accepting your patch.
+
+- [Setting Up Git with GitHub](https://help.github.com/articles/set-up-git)
+- [Forking a Repository](https://help.github.com/articles/fork-a-repo)
+- [Submitting Pull Requests](https://help.github.com/articles/using-pull-requests)
+- [Rebasing your Branch](https://help.github.com/articles/interactive-rebase)
+
+Finally, add a comment in the Jira issue with a link to the pull request so we know the code is ready to be reviewed.
+
+### Reviews
+
+The Apache Brooklyn community will review your pull request before it is merged. This process can take a while, so
+please be patient. If we are slow to respond, please feel free to post a reminder to the PR, Jira issue, IRC channel
+or mailing list - see the [Community](index.html) page to see how to contact us.
+
+During the review process you may be asked to make some changes to your submission. While working through feedback,
+it can be beneficial to create new commits so the incremental change is obvious.  This can also lead to a complex set
+of commits, and having an atomic change per commit is preferred in the end.  Use your best judgement and work with
+your reviewer as to when you should revise a commit or create a new one.
+
+A pull request is considered ready to be merged once it gets at lease one +1 from a committer. Once all the changes
+have been completed and the pull request is accepted, you may be asked to rebase it against the latest code. You may
+also wish to squash some commits together and make other history revisions, to leave the commit history clean and
+easily understood.
+
+
+### Contributing without using GitHub
+
+If you prefer to not use GitHub, then that is fine - we are also happy to accept patches attached to a Jira issue.
+Our canonical repository is located at `https://git-wip-us.apache.org/repos/asf/incubator-brooklyn.git`; for example:
+
+    $ git clone https://git-wip-us.apache.org/repos/asf/incubator-brooklyn.git
+
+When producing patches, please use `git format-patch` or a similar mechanism - this will ensure that you are properly
+attributed as the author of the patch when a committer merges it.

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn-site/blob/3f9fcc7d/community/index.md
----------------------------------------------------------------------
diff --git a/community/index.md b/community/index.md
new file mode 100644
index 0000000..d36f244
--- /dev/null
+++ b/community/index.md
@@ -0,0 +1,73 @@
+---
+layout: normal
+title: Community
+navgroup: community
+---
+
+<div class="row">
+<div class="col-md-6" markdown="1">
+
+## Mailing lists
+
+Our main discussion list is our *dev* list - here you can ask questions and get
+help with issues, ranging from basic getting started through to detailed
+questions about brooklyn's internals.
+
+To subscribe, send an email to:
+[dev-subscribe@brooklyn.incubator.apache.org](mailto:dev-subscribe@brooklyn.incubator.apache.org)
+
+You can also [read and search the dev list
+archives](https://mail-archives.apache.org/mod_mbox/incubator-brooklyn-dev/) on
+Apache's list archiver.
+
+
+### Other lists
+
+We also have a *commits* list - a read-only list which automatically posts as
+commits are made to our source repositories. Subscribe by sending an email to
+[commits-subscribe@brooklyn.incubator.apache.org](mailto:commits-subscribe@brooklyn.incubator.apache.org),
+and [read the archives here](https://mail-archives.apache.org/mod_mbox/incubator-brooklyn-commits/).
+
+
+### Historical lists
+
+Before brooklyn joined the Apache Incubator, we had lists hosted on Google
+Groups. These lists are now deprecated and it's no longer possible to subscribe
+or post, but you may find useful information in the archives.
+
+- [Old brooklyn users list archive](https://groups.google.com/forum/#!forum/brooklyn-dev)
+- [Old brooklyn dev list archive](https://groups.google.com/forum/#!forum/brooklyn-dev)
+
+Once again, these lists are deprecated, so please subscribe to the Apache-hosted
+lists to receive new messages.
+
+</div><!-- col -->
+<div class="col-md-6" markdown="1">
+
+## Issue tracker
+
+We have a [Jira instance at Apache](https://issues.apache.org/jira/browse/BROOKLYN)
+
+
+## Contributing source code
+
+If you have changes or additions to the Brooklyn source code, we would love to
+see them! Please read our guide on [how to contribute](how-to-contribute.html).
+
+If you have used the *brooklyncentral* repository prior to Brooklyn's move to
+Apache, you can read the guide on
+[how to migrate your brooklyncentral fork to Apache](migrate-to-apache.html).
+
+Committers can read the corresponding [guide for committers](committers.html)
+to see how to review and merge contributions.
+
+
+## IRC
+
+Join channel `#brooklyncentral` on the [Freenode](https://freenode.net/) IRC
+network. Many of the Brooklyn dev team can be found here. Note that the team
+is predominantly Europe-based, and channel activity is usually centered
+around European daylight hours.
+
+</div><!-- col -->
+</div><!-- row -->

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn-site/blob/3f9fcc7d/community/migrate-to-apache.md
----------------------------------------------------------------------
diff --git a/community/migrate-to-apache.md b/community/migrate-to-apache.md
new file mode 100644
index 0000000..bd1eca8
--- /dev/null
+++ b/community/migrate-to-apache.md
@@ -0,0 +1,118 @@
+---
+layout: normal
+title: How to migrate your brooklyncentral fork to Apache
+navgroup: community
+---
+
+Prior to our adoption by the Apache Incubator, Brooklyn was developed in a
+GitHub repository at `https://github.com/brooklyncentral/brooklyn`. If you
+already have a fork of this repository, follow this guide to smoothly shift
+your repository references to the new repository at Apache.
+
+If you have not forked or cloned the `brooklyncentral/brooklyn` repository,
+then this is not the right guide for you. Instead, you should refer to the
+[How to contribute](how-to-contribute.html) page, and possibly refer to
+[GitHub Help - Fork A Repo](https://help.github.com/articles/fork-a-repo) for
+further help.
+
+
+Assumptions
+-----------
+
+This guides assumes that you have followed the standard GitHub workflow, as
+describe in [GitHub Help - Fork A Repo](https://help.github.com/articles/fork-a-repo).
+In particular:
+
+- You have forked the `brooklyncentral/brooklyn` repository into your own
+  username:
+
+![Screenshot of GitHub showing a typical fork](fork-before.png)
+
+- You have used `git clone` to clone this fork onto your own computer;
+- You have added an additional remote, `upstream`, to refer to the original
+  `brooklyncentral/brooklyn` repository.
+
+In short, if you can recognise the above screenshot, and the output of the
+`git remote -v` command looks similar to below, then this guide should work
+for you. (Replace `rdowner` with your own GitHub username.)
+
+    origin  https://github.com/rdowner/brooklyn.git (fetch)
+    origin  https://github.com/rdowner/brooklyn.git (push)
+    upstream        https://github.com/brooklyncentral/brooklyn (fetch)
+    upstream        https://github.com/brooklyncentral/brooklyn (push)
+
+Or, if you are using SSH to access your remote repositories, it may look like
+this:
+
+    origin  git@github.com:rdowner/brooklyn.git (fetch)
+    origin  git@github.com:rdowner/brooklyn.git (push)
+    upstream        git@github.com:brooklyncentral/brooklyn.git (fetch)
+    upstream        git@github.com:brooklyncentral/brooklyn (push)
+
+
+
+Procedure
+---------
+
+The new repository has a mirror in GitHub, located at
+[https://github.com/apache/incubator-brooklyn](https://github.com/apache/incubator-brooklyn).
+Go to this page now, and fork it:
+
+![Screenshot of the new repository mirror in GitHub, with fork button](fork-new.png)
+
+This will now create a fork of this repository under your own username:
+
+![Screenshot of the new fork in your workspace](fork-after.png)
+
+So previously you referred to repositories named `brooklyn` under the
+`brooklyncentral` organization and your own username. Now, you will need to
+refer to repositories named `incubator-brooklyn` under the `Apache`
+organization and your own username.
+
+To update the cloned repository on your computer to point to the new
+repositories instead of the old ones, use these commands, replacing `rdowner`
+with your own GitHub username.
+
+    git remote set-url origin https://github.com/rdowner/incubator-brooklyn.git
+    git remote set-url upstream https://github.com/apache/incubator-brooklyn.git
+
+Or, if you would prefer to use SSH to access your remote repositories:
+
+    git remote set-url origin git@github.com:rdowner/incubator-brooklyn.git
+    git remote set-url upstream git@github.com:apache/incubator-brooklyn.git
+
+Finally, fetch everything:
+
+    git fetch --all
+
+
+Existing pull requests
+----------------------
+
+If you have submitted a pull request at `brooklyncentral/brooklyn`, this pull
+request will be closed, unmerged, with a message pointing you to this page. You
+will need to re-submit your pull request against the
+`apache/incubator-brooklyn`.
+
+If you have followed the above procedure, all you will need to do is identify
+the branch in your local repository on your computer that you used to make the
+original pull request, and push this to your new fork:
+
+```
+git push origin my-new-feature-branch
+```
+
+Now, go to your `incubator-brooklyn` fork on the GitHub website, and you should
+see the **Compare &amp; pull request** button; click this, and it will set up a
+pull request against the new repository.
+
+![Screen shot of a pull request against incubator-brooklyn](pull-request.png)
+
+
+Any problems?
+-------------
+
+If you are not sure how to do this, perhaps because you have a slightly
+different arrangement in your repositories, or is something unusual happens,
+please ask our community for help. You can find details of our IRC channel
+and mailing lists on our [Community](index.html) page.

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn-site/blob/3f9fcc7d/community/pull-request.png
----------------------------------------------------------------------
diff --git a/community/pull-request.png b/community/pull-request.png
new file mode 100644
index 0000000..70407f2
Binary files /dev/null and b/community/pull-request.png differ

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn-site/blob/3f9fcc7d/documentation.md
----------------------------------------------------------------------
diff --git a/documentation.md b/documentation.md
new file mode 100644
index 0000000..ece4353
--- /dev/null
+++ b/documentation.md
@@ -0,0 +1,13 @@
+---
+layout: normal
+title: Documentation
+navgroup: docs
+---
+
+## Official User Manual
+
+Our main user manual is organised by release version. Please pick the version that you are using:
+
+- [0.7.0-M1]({{ site.url }}v/0.7.0-M1) -
+  Please note that this release was made prior to entering the Apache Incubator,
+  and therefore it is not endorsed by Apache.

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn-site/blob/3f9fcc7d/download.md
----------------------------------------------------------------------
diff --git a/download.md b/download.md
new file mode 100644
index 0000000..485faa9
--- /dev/null
+++ b/download.md
@@ -0,0 +1,71 @@
+---
+layout: normal
+title: Download
+navgroup: download
+---
+
+## Download Brooklyn Binary Distributions
+
+**New to Brooklyn**? Download the *Milestone* release below then take a look
+at the [Get Started](quickstart/) page.
+
+<div class="row">
+<div class="col-md-6" markdown="1">
+
+### Milestone
+
+#### 0.7.0-M1
+*Recommended*. A good compromise between stability and features which has undergone live testing.
+
+Download [.tar.gz](http://search.maven.org/remotecontent?filepath=io/brooklyn/brooklyn-dist/0.7.0-M1/brooklyn-dist-0.7.0-M1-dist.tar.gz)
+&bull; [.zip](http://search.maven.org/remotecontent?filepath=io/brooklyn/brooklyn-dist/0.7.0-M1/brooklyn-dist-0.7.0-M1-dist.zip)
+
+Please note that this release was made prior to entering the Apache Incubator, and therefore it is not endorsed by Apache.
+
+</div>
+<div class="col-md-6" markdown="1">
+
+### Stable
+
+#### 0.6.0
+Well-tested releases, but missing the latest features.
+
+Download [.tar.gz](http://search.maven.org/remotecontent?filepath=io/brooklyn/brooklyn-dist/0.6.0/brooklyn-dist-0.6.0-dist.tar.gz)
+&bull; [.zip](http://search.maven.org/remotecontent?filepath=io/brooklyn/brooklyn-dist/0.6.0/brooklyn-dist-0.6.0-dist.zip)
+
+Please note that this release was made prior to entering the Apache Incubator, and therefore it is not endorsed by Apache.
+
+</div>
+</div>
+
+
+## Download Brooklyn source code
+
+<div class="row">
+<div class="col-md-6" markdown="1">
+
+### Milestone
+
+#### 0.7.0-M1
+*Recommended*. A good compromise between stability and features which has undergone live testing.
+
+Download [.tar.gz](https://github.com/apache/incubator-brooklyn/archive/0.7.0-M1.tar.gz)
+&bull; [.zip](https://github.com/apache/incubator-brooklyn/archive/0.7.0-M1.zip)
+
+Please note that this release was made prior to entering the Apache Incubator, and therefore it is not endorsed by Apache.
+
+</div>
+<div class="col-md-6" markdown="1">
+
+### Stable
+
+#### 0.6.0
+Well-tested releases, but missing the latest features.
+
+Download [.tar.gz](https://github.com/apache/incubator-brooklyn/archive/v0.6.0.tar.gz)
+&bull; [.zip](https://github.com/apache/incubator-brooklyn/archive/v0.6.0.zip)
+
+Please note that this release was made prior to entering the Apache Incubator, and therefore it is not endorsed by Apache.
+
+</div>
+</div>

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn-site/blob/3f9fcc7d/index.md
----------------------------------------------------------------------
diff --git a/index.md b/index.md
new file mode 100644
index 0000000..92fc5bf
--- /dev/null
+++ b/index.md
@@ -0,0 +1,40 @@
+---
+layout: homepage
+title: Home
+navgroup: home
+---
+
+<div class="jumbotron">
+<div class="row">
+<div class="col-md-6">
+<div id="brooklynbridge">&nbsp;</div>
+</div><!-- column -->
+<div class="col-md-6" style="text-align: center" markdown="1">
+
+### Simplified **deployment** and **runtime management** of enterprise-grade applications
+
+<a class="btn btn-primary btn-lg" role="button" href="learnmore.html">learn more</a>
+<a class="btn btn-primary btn-lg" role="button" href="quickstart/">get started</a>
+
+</div><!-- column -->
+</div><!-- row -->
+
+</div><!-- jumbotron -->
+
+<div class="row">
+<div class="col-md-4" markdown="1">
+
+#### Easy **single-click deployment** to your favourite clouds. Run transparently across **multiple providers**.
+
+</div>
+<div class="col-md-4" markdown="1">
+
+#### Applications stay **healthy** and **auto-scaled** through your choice of automated policies.
+
+</div>
+<div class="col-md-4" markdown="1">
+
+#### **Compose** applications from a rich library of components and services, or easily **create** custom integrations and policies.
+
+</div>
+</div><!-- row -->

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn-site/blob/3f9fcc7d/learnmore.md
----------------------------------------------------------------------
diff --git a/learnmore.md b/learnmore.md
new file mode 100644
index 0000000..3c02063
--- /dev/null
+++ b/learnmore.md
@@ -0,0 +1,178 @@
+---
+layout: normal
+title: Learn More
+navgroup: learnmore
+---
+
+<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 API's 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 API's 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-site/blob/3f9fcc7d/quickstart/brooklyn.properties
----------------------------------------------------------------------
diff --git a/quickstart/brooklyn.properties b/quickstart/brooklyn.properties
new file mode 100644
index 0000000..08a9d7c
--- /dev/null
+++ b/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-site/blob/3f9fcc7d/quickstart/catalog.xml
----------------------------------------------------------------------
diff --git a/quickstart/catalog.xml b/quickstart/catalog.xml
new file mode 100644
index 0000000..c9a2a4c
--- /dev/null
+++ b/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-site/blob/3f9fcc7d/quickstart/images/add-application-catalog-web-cluster-with-db-large.png
----------------------------------------------------------------------
diff --git a/quickstart/images/add-application-catalog-web-cluster-with-db-large.png b/quickstart/images/add-application-catalog-web-cluster-with-db-large.png
new file mode 100644
index 0000000..b566b1a
Binary files /dev/null and b/quickstart/images/add-application-catalog-web-cluster-with-db-large.png differ

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn-site/blob/3f9fcc7d/quickstart/images/add-application-catalog-web-cluster-with-db-location-large.png
----------------------------------------------------------------------
diff --git a/quickstart/images/add-application-catalog-web-cluster-with-db-location-large.png b/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/quickstart/images/add-application-catalog-web-cluster-with-db-location-large.png differ

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

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

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

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

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

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

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

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

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

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

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

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

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

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn-site/blob/3f9fcc7d/quickstart/index.md
----------------------------------------------------------------------
diff --git a/quickstart/index.md b/quickstart/index.md
new file mode 100644
index 0000000..81ce7f4
--- /dev/null
+++ b/quickstart/index.md
@@ -0,0 +1,180 @@
+---
+title: Getting Started
+layout: normal
+navgroup: getstarted
+---
+
+{% include fields.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/). )
+
+
+## Install Brooklyn
+
+Download the [Brooklyn distribution]({{ this_dist_url_tgz }}) and expand it to your home directory ( `~/` ), or in a location of your choice. (Other [download options]({{site.url}}/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-{{ brooklyn_version }}-timestamp-dist.tar.gz
+{% endhighlight %}
+{% else %}
+{% highlight bash %}
+$ tar -zxf brooklyn-dist-{{ brooklyn_version }}-dist.tar.gz
+{% endhighlight %}
+{% endif %}
+
+This will create a `brooklyn-{{ 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-{{ 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}}/use/guide/quickstart/brooklyn.properties
+{% endhighlight %}
+
+Open brooklyn.properties in a text editor and add your cloud credentials.
+
+If you would rather test Brooklyn on localhost, follow [these instructions]({{site.url}}/use/guide/locations/) to ensure that your Brooklyn can access your machine.
+
+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
+
+Edit the 'location' parameter in the YAML template (repeated below) to use the location you configured.
+
+For example, replace:
+{% highlight yaml %}
+location: location
+{% endhighlight %}
+
+with (one of):
+{% 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**
+
+{% highlight yaml %}
+{% readj my-web-cluster.yaml %}
+{% endhighlight %}
+
+Paste the modified YAML into the dialog and 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-site/blob/3f9fcc7d/quickstart/my-web-cluster.yaml
----------------------------------------------------------------------
diff --git a/quickstart/my-web-cluster.yaml b/quickstart/my-web-cluster.yaml
new file mode 100644
index 0000000..bbafa00
--- /dev/null
+++ b/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.brooklyn-version }}/brooklyn-example-hello-world-sql-webapp-{{ site.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-site/blob/3f9fcc7d/quickstart/policies-and-catalogs.md
----------------------------------------------------------------------
diff --git a/quickstart/policies-and-catalogs.md b/quickstart/policies-and-catalogs.md
new file mode 100644
index 0000000..9a6d934
--- /dev/null
+++ b/quickstart/policies-and-catalogs.md
@@ -0,0 +1,65 @@
+---
+title: Getting Started - Policies and Catalogs
+layout: normal
+navgroup: getstarted
+---
+
+{% include fields.md %}
+
+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.
+
+## Service Catalogs
+
+Download the template [catalog.xml](catalog.xml) to your `~/.brooklyn/` folder, and relaunch Brooklyn.
+
+{% highlight bash %}
+$ cd ~/.brooklyn
+$ wget {{site.url}}/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.url}}/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.
+
+


Mime
View raw message