Fix internal links by using relative path to markdown files

Project: http://git-wip-us.apache.org/repos/asf/brooklyn-docs/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-docs/commit/adb398f3
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-docs/tree/adb398f3
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-docs/diff/adb398f3

Branch: refs/heads/master
Commit: adb398f3dae60303421b056c8e7d602f905421a0
Parents: 34de2d4
Author: Thomas Bouron <[email protected]>
Authored: Tue Oct 10 16:35:12 2017 +0100
Committer: Thomas Bouron <[email protected]>
Committed: Mon Oct 16 14:56:03 2017 +0100

----------------------------------------------------------------------
 book.json                                       |   2 +-
 guide/SUMMARY.md                                |   2 +-
 guide/blueprints/blueprinting-tips.md           |   2 +-
 guide/blueprints/catalog/bundle.md              |   2 +-
 guide/blueprints/catalog/schema.md              |   2 +-
 guide/blueprints/clusters-and-policies.md       |   2 +-
 guide/blueprints/config-files.md                |   2 +-
 guide/blueprints/configuring-vms.md             |   4 +-
 guide/blueprints/creating-yaml.md               |  13 +-
 guide/blueprints/custom-entities.md             |   2 +-
 guide/blueprints/effectors.md                   |   2 +-
 guide/blueprints/java/bundle-dependencies.md    |   4 +-
 guide/blueprints/java/defining-and-deploying.md |  12 +-
 guide/blueprints/java/entitlements.md           |   2 +-
 guide/blueprints/java/entity.md                 |  12 +-
 guide/blueprints/java/topology-dependencies.md  |   2 +-
 guide/blueprints/multiple-services.md           |   2 +-
 guide/blueprints/policies.md                    |   4 +-
 guide/blueprints/setting-locations.md           |   4 +-
 guide/blueprints/test/usage-examples.md         |   2 +-
 guide/blueprints/winrm/client.md                |   2 +-
 guide/blueprints/winrm/index.md                 |   6 +-
 guide/blueprints/yaml-reference.md              |   2 +-
 guide/locations/_AWS.md                         |   2 +-
 guide/locations/_GCE.md                         |   2 +-
 guide/locations/_byon.md                        |   2 +-
 guide/locations/_clouds.md                      |   4 +-
 guide/locations/_cloudstack.md                  |   2 +-
 guide/locations/_ibm-softlayer.md               |   2 +-
 guide/locations/_localhost.md                   |   2 +-
 .../_location-customizer-security-groups.md     |   2 +-
 guide/locations/_location-customizers.md        |   2 +-
 guide/locations/_openstack.md                   |   2 +-
 guide/locations/_ssh-keys.md                    |   4 +-
 guide/locations/cloud-credentials.md            |   2 +-
 guide/locations/index.md                        |  12 +-
 guide/misc/download.md                          |   2 +-
 guide/ops/cli/cli-usage-guide.md                |   2 +-
 guide/ops/cli/index.md                          |   2 +-
 guide/ops/configuration/brooklyn_cfg.md         |   8 +-
 guide/ops/configuration/cors.md                 |   4 +-
 guide/ops/configuration/https.md                |   2 +-
 guide/ops/configuration/index.md                |  18 +--
 guide/ops/gui/blueprints.md                     |   4 +-
 guide/ops/gui/managing.md                       |   2 +-
 guide/ops/gui/policies.md                       |   2 +-
 guide/ops/gui/running.md                        |  10 +-
 .../high-availability-supplemental.md           |  10 +-
 guide/ops/high-availability/index.md            |   2 +-
 guide/ops/logging.md                            |   4 +-
 guide/ops/persistence/index.md                  |   8 +-
 guide/ops/production-installation.md            |  50 +++---
 guide/ops/requirements.md                       |  12 +-
 guide/ops/server-cli-reference.md               |  10 +-
 guide/ops/starting-stopping-monitoring.md       |  10 +-
 guide/ops/troubleshooting/_connectivity.md      | 152 -------------------
 guide/ops/troubleshooting/connectivity.md       | 151 +++++++++++++++++-
 guide/ops/troubleshooting/deployment.md         |   2 +-
 .../troubleshooting/detailed-support-report.md  |   4 +-
 .../going-deep-in-java-and-logs.md              |   2 +-
 guide/ops/troubleshooting/overview.md           |   2 +-
 guide/ops/troubleshooting/slow-unresponsive.md  |  10 +-
 guide/ops/troubleshooting/softwareprocess.md    |   2 +-
 guide/ops/upgrade.md                            |  24 +--
 guide/start/blueprints.md                       |   6 +-
 guide/start/managing.md                         |   6 +-
 guide/start/running.md                          |  14 +-
 67 files changed, 325 insertions(+), 341 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/book.json
----------------------------------------------------------------------
diff --git a/book.json b/book.json
index 2a5361c..ebf6947 100644
--- a/book.json
+++ b/book.json
@@ -40,7 +40,7 @@
   },
   "variables": {
     "brooklyn_version": "1.0.0-SNAPSHOT",
-    "brooklyn-stable-version": "0.12.0",
+    "brooklyn_version_stable": "0.12.0",
     "url_root": "http://0.0.0.0:4000";,
     "path": {
       "guide": "/guide",

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/SUMMARY.md
----------------------------------------------------------------------
diff --git a/guide/SUMMARY.md b/guide/SUMMARY.md
index d03ba6d..9b545db 100644
--- a/guide/SUMMARY.md
+++ b/guide/SUMMARY.md
@@ -89,7 +89,7 @@
   * [Production Installation](ops/production-installation.md)
   * [Starting, Stopping and Monitoring](ops/starting-stopping-monitoring.md)
   * [Server CLI Reference](ops/server-cli-reference.md)
-  * Client CLI Reference
+  * [Client CLI Reference](ops/cli/index.md)
     * [CLI Reference Guide](ops/cli/cli-ref-guide.md)
     * [CLI Usage Guide](ops/cli/cli-usage-guide.md)
   * GUI Guide

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/blueprints/blueprinting-tips.md
----------------------------------------------------------------------
diff --git a/guide/blueprints/blueprinting-tips.md 
b/guide/blueprints/blueprinting-tips.md
index 7000056..9d2a023 100644
--- a/guide/blueprints/blueprinting-tips.md
+++ b/guide/blueprints/blueprinting-tips.md
@@ -42,7 +42,7 @@ A [BYON location]({{ book.path.guide }}/locations/#byon) can 
be defined, which a
 required to provision VMs. This is fast, but has the downside that artifacts 
installed during a 
 previous run can interfere with subsequent runs.
 
-A variant of this is to [use Vagrant]({{ book.path.guide 
}}/start/running.html) (e.g. with VirtualBox) 
+A variant of this is to [use Vagrant](../start/running.md) (e.g. with 
VirtualBox) 
 to create VMs on your local machine, and to use these as the target for a BYON 
location.
 
 These VMs should mirror the target environment as much as possible.

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/blueprints/catalog/bundle.md
----------------------------------------------------------------------
diff --git a/guide/blueprints/catalog/bundle.md 
b/guide/blueprints/catalog/bundle.md
index bd7932e..befa1c8 100644
--- a/guide/blueprints/catalog/bundle.md
+++ b/guide/blueprints/catalog/bundle.md
@@ -15,7 +15,7 @@ uploaded bundles so that they are available after a restart 
or on HA failover.
 The bundle must be a ZIP file including a `catalog.bom` in the root.
 (The `br` CLI will create a ZIP from a local folder, for convenience.)
 The `catalog.bom` must declare a `bundle` identifier and a `version`, 
-following Brooklyn's [versioning](versioning.html) rules.
+following Brooklyn's [versioning](versioning.md) rules.
 Brooklyn will keep track of that bundle, allowing items to be added and 
removed as a group,
 and associated resources to be versioned and included alongside them. 
 With SNAPSHOT-version bundles, it allows replacement of multiple related items 
at the same time,

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/blueprints/catalog/schema.md
----------------------------------------------------------------------
diff --git a/guide/blueprints/catalog/schema.md 
b/guide/blueprints/catalog/schema.md
index a530430..05b8a05 100644
--- a/guide/blueprints/catalog/schema.md
+++ b/guide/blueprints/catalog/schema.md
@@ -224,7 +224,7 @@ The items this will add to the catalog are:
 
 #### Locations in the Catalog
 
-In addition to blueprints, locations can be added to the Apache Brooklyn 
catalog. The example below shows a location for the vagrant configuration used 
in the [getting started guide]({{ book.path.guide }}/start/blueprints.html), 
formatted as a catalog entry.
+In addition to blueprints, locations can be added to the Apache Brooklyn 
catalog. The example below shows a location for the vagrant configuration used 
in the [getting started guide](../../start/blueprints.md), formatted as a 
catalog entry.
 
 ~~~ yaml
 brooklyn.catalog:

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/blueprints/clusters-and-policies.md
----------------------------------------------------------------------
diff --git a/guide/blueprints/clusters-and-policies.md 
b/guide/blueprints/clusters-and-policies.md
index 983a881..edf27a4 100644
--- a/guide/blueprints/clusters-and-policies.md
+++ b/guide/blueprints/clusters-and-policies.md
@@ -18,7 +18,7 @@ deployment of our `hello-world-sql` application as follows:
 
 This sets up Nginx as the controller by default, but that can be configured
 using the `controllerSpec` key. 
-This uses the same [externalized config](../ops/externalized-config.html) 
+This uses the same [externalized config](../ops/externalized-configuration.md) 
 as in other examples to hide the password.
 
 JBoss is actually the default appserver in the 
`ControlledDynamicWebAppCluster`,

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/blueprints/config-files.md
----------------------------------------------------------------------
diff --git a/guide/blueprints/config-files.md b/guide/blueprints/config-files.md
index f92aeb8..cc23299 100644
--- a/guide/blueprints/config-files.md
+++ b/guide/blueprints/config-files.md
@@ -26,7 +26,7 @@ connection details of another entity). Available 
substitutions are:
 | `${attribute['key']}`     | Equivalent to `entity.sensors().get(key)`        
                  |
 | `${mgmt['key']}`          | Loads the value for `key` from the management 
context's properties |
 | `${entity.foo}`           | FreeMarker calls `getFoo` on the entity          
                  |
-| `${driver.foo}`           | FreeMarker calls `getFoo` on the entity's 
[driver](http://brooklyn.apache.org/v/latest/java/entity.html#things-to-know) |
+| `${driver.foo}`           | FreeMarker calls `getFoo` on the entity's 
[driver](java/entity.md#things-to-know) |
 | `${location.foo}`         | FreeMarker calls `getFoo` on the entity's 
location                 |
 | `${javaSysProps.foo.bar}` | Loads the system property named `foo.bar`        
                  |
 

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/blueprints/configuring-vms.md
----------------------------------------------------------------------
diff --git a/guide/blueprints/configuring-vms.md 
b/guide/blueprints/configuring-vms.md
index 229c2db..d5193f8 100644
--- a/guide/blueprints/configuring-vms.md
+++ b/guide/blueprints/configuring-vms.md
@@ -17,7 +17,7 @@ ignored if deploying to `localhost` or `byon` fixed-IP 
machines.*
 
 This will create a VM with the specified parameters in your choice of cloud.
 In the GUI (and in the REST API), the entity is called "VM",
-and the hostname and IP address(es) are reported as [sensors]({{ 
book.path.guide }}/concepts/entities.html).
+and the hostname and IP address(es) are reported as 
[sensors](../concepts/entities.md).
 There are many more `provisioning.properties` supported here,
 including:
 
@@ -27,4 +27,4 @@ including:
 * `machineCreateAttempts` (for dodgy clouds, and they nearly all fail 
occasionally!) 
 * and things like `imageId` and `userMetadata` and disk and networking options 
(e.g. `autoAssignFloatingIp` for private clouds)
 
-For more information, see [Operations: Locations]({{ book.path.guide 
}}/locations/index.html).
+For more information, see [Operations: Locations](../locations/index.md).

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/blueprints/creating-yaml.md
----------------------------------------------------------------------
diff --git a/guide/blueprints/creating-yaml.md 
b/guide/blueprints/creating-yaml.md
index 9dca8bd..5058e76 100644
--- a/guide/blueprints/creating-yaml.md
+++ b/guide/blueprints/creating-yaml.md
@@ -11,7 +11,7 @@ categories: [use, guide, defining-applications]
 The easiest way to write a blueprint is as a YAML file.
 This follows the  <a href="https://www.oasis-open.org/committees/camp/";>OASIS 
CAMP</a> plan specification, 
 with some extensions described below.
-(A [YAML reference](yaml-reference.html) has more information,
+(A [YAML reference](yaml-reference.md) has more information,
 and if the YAML doesn't yet do what you want,
 it's easy to add new extensions using your favorite JVM language.)
 
@@ -31,7 +31,7 @@ Here's a very simple YAML blueprint plan, to explain the 
structure:
   This is the meat of the blueprint plan, as you'll see below.
 
 Finally, the clipboard in the top-right corner of the example plan box above 
(hover your cursor over the box)  lets you easily copy-and-paste into the 
web-console:
-simply [download and launch]({{ book.path.guide }}/start/running.html) 
Brooklyn,
+simply [download and launch](../start/running.md) Brooklyn,
 then in the "Create Application" dialog at the web console
 (usually [http://127.0.0.1:8081/](http://127.0.0.1:8081/), paste the copied 
YAML into the "Yaml" tab of the dialog and press "Finish". 
 There are several other ways to deploy, including `curl` and via the 
command-line,
@@ -63,15 +63,10 @@ Brooklyn lived as a Java framework for many years before we 
felt confident
 to make a declarative front-end, so you can do pretty much anything you want to
 by dropping to the JVM. For more information on Java:
 
-* start with a [Maven 
archetype]({{book.path.guide}}/blueprints/java/archetype.html)
-* see all [Brooklyn Java guide]({{book.path.guide}}/blueprints/java/) topics
+* start with a [Maven archetype](java/archetype.md)
+* see all [Brooklyn Java guide](java/index.md) topics
 * look at test cases in the [codebase](https://github.com/apache/brooklyn)
 
-<!-- 
-TODO
-* review some [examples]({{book.path.guide}}/use/examples/index.html)
--->
-
 You can also come talk to us, on IRC (#brooklyncentral on Freenode) or
 any of the usual [hailing frequencies]({{book.path.website}}/community/),
 as these documents are a work in progress.

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/blueprints/custom-entities.md
----------------------------------------------------------------------
diff --git a/guide/blueprints/custom-entities.md 
b/guide/blueprints/custom-entities.md
index b187936..30c5f46 100644
--- a/guide/blueprints/custom-entities.md
+++ b/guide/blueprints/custom-entities.md
@@ -265,7 +265,7 @@ command over ssh every 5 seconds. This can be very CPU 
intensive when there are
 is to disable the ssh-polling (by setting `sshMonitoring.enabled: false`) and 
to configure a different 
 health-check.
 
-See documentation on the [Entity's error status]({{ book.path.guide 
}}/ops/troubleshooting/overview.html#entitys-error-status)
+See documentation on the [Entity's error 
status](../ops/troubleshooting/overview.md#entitys-error-status)
 for how Brooklyn models an entity's health.
 
 In the snippet below, we'll define a new health-check sensor (via http 
polling), and will automatically add this

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/blueprints/effectors.md
----------------------------------------------------------------------
diff --git a/guide/blueprints/effectors.md b/guide/blueprints/effectors.md
index 48e6152..e4366d0 100644
--- a/guide/blueprints/effectors.md
+++ b/guide/blueprints/effectors.md
@@ -5,7 +5,7 @@ layout: website-normal
 # {{ page.title }}
 
 Effectors perform an operation of some kind, carried out by a Brooklyn Entity.
-They can be manually invoked or triggered by a [Policy]({{ book.path.guide 
}}/blueprints/policies.html).
+They can be manually invoked or triggered by a [Policy](policies.md).
 
 Common uses of an effector include the following:
 

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/blueprints/java/bundle-dependencies.md
----------------------------------------------------------------------
diff --git a/guide/blueprints/java/bundle-dependencies.md 
b/guide/blueprints/java/bundle-dependencies.md
index 58d23b5..5c2b6d7 100644
--- a/guide/blueprints/java/bundle-dependencies.md
+++ b/guide/blueprints/java/bundle-dependencies.md
@@ -38,8 +38,8 @@ It is vital that these jars are built correctly as OSGi 
bundles, and that all tr
 dependencies are included. The bundles will be added to Karaf in the order 
given, so a bundle's
 dependencies should be listed before the bundle(s) that depend on them.
 
-In the [GistGenerator example]({{ 
book.path.guide}}/blueprints/java/defining-and-deploying.html), the 
-[catalog.bom file]({{ 
book.path.guide}}/blueprints/java/gist_generator/gist_generator.bom) included
+In the [GistGenerator example](defining-and-deploying.md), the 
+[catalog.bom file](gist_generator/gist_generator.bom) included
 the URL of the dependency `org.eclipse.egit.github.core`. It also (before that 
line) included
 its transitive dependency, which is a specific version of `gson`.
 

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/blueprints/java/defining-and-deploying.md
----------------------------------------------------------------------
diff --git a/guide/blueprints/java/defining-and-deploying.md 
b/guide/blueprints/java/defining-and-deploying.md
index 57b5e5a..786e535 100644
--- a/guide/blueprints/java/defining-and-deploying.md
+++ b/guide/blueprints/java/defining-and-deploying.md
@@ -14,7 +14,7 @@ with an effector to create new gists.
 
 ## Project Setup
 
-Follow the instructions to create a new Java project using the 
[archetype](archetype.html), and
+Follow the instructions to create a new Java project using the 
[archetype](archetype.md), and
 import it into your [favorite IDE]({{ book.path.guide }}/dev/env/ide/). This 
example assumes you 
 used the groupId `com.acme` and artifact id `autobrick`.
 
@@ -58,7 +58,7 @@ To describe each part of this:
   web-console.
 
 Note there is an alternative way of defining effectors - adding them to the 
entity dynamically, 
-discussed in the section [Dynamically Added 
Effectors](common-usage.html#dynamically-added-effectors).
+discussed in the section [Dynamically Added 
Effectors](common-usage.md#dynamically-added-effectors).
 
 Next lets add the implementation. Create a new Java class named 
`GistGeneratorImpl`.
 
@@ -114,7 +114,7 @@ inside `src/test/java`.
 
 Again you will need to substitute the github access token you generated in the 
previous section for
 the placeholder text `xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`. See the 
section on 
-[externalised configuration]({{ book.path.guide 
}}/ops/externalized-configuration.html) 
+[externalised configuration](../../ops/externalized-configuration.md) 
 for how to store these credentials more securely. 
 
 !CODEFILE "gist_generator/GistGeneratorYamlTest.java"
@@ -139,7 +139,7 @@ artifact (which will be in the `target` sub-directory after 
running `mvn clean i
 
 !CODEFILE "gist_generator/gist_generator.bom"
 
-See [Handling Bundle Dependencies]({{ 
book.path.guide}}/blueprints/java/bundle-dependencies.html)
+See [Handling Bundle Dependencies](bundle-dependencies.md)
 for a description of the `brooklyn.libraries` used above, and for other 
alternative approaches.
 
 The command below will use the `br` CLI to add this to the catalog of a 
running Brooklyn instance.
@@ -163,5 +163,5 @@ The YAML blueprint below shows an example usage of this 
blueprint:
 
 Note the type name matches the id defined in the `.bom` file.
 
-You can now call the effector by any of the standard means - [web console]({{ 
book.path.guide }}/ops/gui/), 
-[REST api]({{ book.path.guide }}/ops/rest.html), or [Client CLI]({{ 
book.path.guide }}/ops/cli/).
+You can now call the effector by any of the standard means - [web 
console](../../ops/gui/index.md), 
+[REST api](../../ops/rest.md), or [Client CLI](../../ops/cli/index.md).

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/blueprints/java/entitlements.md
----------------------------------------------------------------------
diff --git a/guide/blueprints/java/entitlements.md 
b/guide/blueprints/java/entitlements.md
index 22fbca2..a0fa6f4 100644
--- a/guide/blueprints/java/entitlements.md
+++ b/guide/blueprints/java/entitlements.md
@@ -36,7 +36,7 @@ which you can see [here]({{ book.brooklyn.url.git 
}}/core/src/test/java/org/apac
 and include in your project by adding the core tests JAR to your `dropins` 
folder.
 
 There are some entitlements schemes which exist out of the box, so for a 
simpler setup,
-see [Operations: Entitlements]({{ book.path.guide 
}}/ops/configuration/brooklyn_cfg.html#entitlements). 
+see [Operations: 
Entitlements](../../ops/configuration/brooklyn_cfg.md#entitlements). 
 
 There are also more complex schemes which some users have developed, including 
LDAP extensions 
 which re-use the LDAP authorization support in Brooklyn, 

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/blueprints/java/entity.md
----------------------------------------------------------------------
diff --git a/guide/blueprints/java/entity.md b/guide/blueprints/java/entity.md
index e3cda69..2730963 100644
--- a/guide/blueprints/java/entity.md
+++ b/guide/blueprints/java/entity.md
@@ -14,11 +14,11 @@ There are several ways to write a new entity:
   scripts.
 * For composite entities, use YAML to compose exiting types of entities 
(potentially overwriting
   parts of their configuration), and wire them together.
-* Use **[Chef recipes]({{book.path.guide}}/blueprints/chef)**.
-* Use **[Salt formulas]({{book.path.guide}}/blueprints/salt)**.
-* Use **[Ansible playbooks]({{book.path.guide}}/blueprints/ansible)**.
+* Use **[Chef recipes](../chef/index.md)**.
+* Use **[Salt formulas](../salt/index.md)**.
+* Use **[Ansible playbooks](../ansible/index.md)**.
 * Write pure-java, extending existing base-classes. For example, the 
`GistGenerator` 
-  [example](defining-and-deploying.html). These can use utilities such as 
`HttpTool` and 
+  [example](defining-and-deploying.md). These can use utilities such as 
`HttpTool` and 
   `BashCommands`.
 * Write pure-Java blueprints that extend `SoftwareProcess`. However, the YAML 
approach is strongly
   recommended over this approach.
@@ -100,6 +100,6 @@ hierarchy; it is suggested to avoid these, looking at the 
ones below instead):
 
 You might also find the following helpful:
 
-* **[Entity Design 
Tips]({{book.path.guide}}/dev/tips/index.html#EntityDesign)**
-* The **[User Guide]({{book.path.guide}})**
+* **[Entity Design Tips](../../dev/tips/index.md#EntityDesign)**
+* The **[User Guide](../../)**
 * The **[Mailing 
List](https://mail-archives.apache.org/mod_mbox/brooklyn-dev/)**

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/blueprints/java/topology-dependencies.md
----------------------------------------------------------------------
diff --git a/guide/blueprints/java/topology-dependencies.md 
b/guide/blueprints/java/topology-dependencies.md
index 1052340..03d89c3 100644
--- a/guide/blueprints/java/topology-dependencies.md
+++ b/guide/blueprints/java/topology-dependencies.md
@@ -12,7 +12,7 @@ recommended.
 
 The example below creates a three tier web service, composed of an Nginx 
load-balancer, 
 a cluster of Tomcat app-servers, and a MySQL database. It is similar to the 
[YAML policies
-example]({{ book.path.guide }}/start/policies.html), but also includes the 
MySQL database
+example](../../start/policies.md), but also includes the MySQL database
 to demonstrate the use of dependent configuration.
 
 !CODEFILE "java_app/ExampleWebApp.java"

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/blueprints/multiple-services.md
----------------------------------------------------------------------
diff --git a/guide/blueprints/multiple-services.md 
b/guide/blueprints/multiple-services.md
index e8a82ae..a6a3095 100644
--- a/guide/blueprints/multiple-services.md
+++ b/guide/blueprints/multiple-services.md
@@ -40,7 +40,7 @@ Here there are a few things going on:
 * We've injected the URL of the second service into the appserver as a Java 
system property
   (so our app knows where to find the database)
 * We've used externalized config to keep secret information out of the 
blueprint;
-  this is loaded at runtime from an [externalized config 
provider](../ops/externalized-config.html),
+  this is loaded at runtime from an [externalized config 
provider](../ops/externalized-configuration.md),
   such as a remote credentials store
  
 **Caution: Be careful if you write your YAML in an editor which attempts to 
put "smart-quotes" in.

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/blueprints/policies.md
----------------------------------------------------------------------
diff --git a/guide/blueprints/policies.md b/guide/blueprints/policies.md
index 8275e94..a1cc79c 100644
--- a/guide/blueprints/policies.md
+++ b/guide/blueprints/policies.md
@@ -71,7 +71,7 @@ brooklyn.policies:
 ```
 
 Typically this is used in conjunction with the FailureDetector enricher to 
emit the trigger sensor.
-The [introduction to policies](../start/policies.html) shows a worked 
+The [introduction to policies](../start/policies.md) shows a worked 
 example of these working together.
 
 
@@ -81,7 +81,7 @@ example of these working together.
 
 The ServiceReplacer attaches to a DynamicCluster and replaces a failed member 
in response to 
 `ha.entityFailed` (or other configurable sensor).  
-The [introduction to policies](../start/policies.html) shows a worked 
+The [introduction to policies](../start/policies.md) shows a worked 
 example of this policy in use.
 
 

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/blueprints/setting-locations.md
----------------------------------------------------------------------
diff --git a/guide/blueprints/setting-locations.md 
b/guide/blueprints/setting-locations.md
index fcc304e..6d5bd79 100644
--- a/guide/blueprints/setting-locations.md
+++ b/guide/blueprints/setting-locations.md
@@ -110,7 +110,7 @@ the User Guide.
 ### Externalized Configuration
 
 For simplicity, the examples above have included the cloud credentials. For a 
production system, 
-it is strongly recommended to use [Externalized Configuration]({{ 
book.path.guide }}/ops/externalized-configuration.html)
+it is strongly recommended to use [Externalized 
Configuration](../ops/externalized-configuration.md)
 to retrieve the credentials from a secure credentials store, such as 
[Vault](https://www.vaultproject.io).
 
 
@@ -118,5 +118,5 @@ to retrieve the credentials from a secure credentials 
store, such as [Vault](htt
 
 An entity that represents a "software process" can use the configuration 
option 
 `provisioning.properties` to augment the location's configuration. For more 
information, see
-[Entity Configuration]({{ book.path.guide 
}}/blueprints/entity-configuration.html#entity-provisioningproperties-overriding-and-merging)
+[Entity 
Configuration](../blueprints/entity-configuration.md#entity-provisioningproperties-overriding-and-merging)
 details.

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/blueprints/test/usage-examples.md
----------------------------------------------------------------------
diff --git a/guide/blueprints/test/usage-examples.md 
b/guide/blueprints/test/usage-examples.md
index 3969574..5f47dd1 100644
--- a/guide/blueprints/test/usage-examples.md
+++ b/guide/blueprints/test/usage-examples.md
@@ -6,7 +6,7 @@ layout: website-normal
 # {{ page.title }}
 
 ## Introduction
-This section describes some simple tests based on the [Getting Started]({{ 
book.path.guide }}/start/blueprints.html#launching-from-a-blueprint) example 
blueprint:
+This section describes some simple tests based on the [Getting 
Started](../../start/blueprints.md#launching-from-a-blueprint) example 
blueprint:
 
 !CODEFILE "../../start/_my-web-cluster.yaml"
 

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/blueprints/winrm/client.md
----------------------------------------------------------------------
diff --git a/guide/blueprints/winrm/client.md b/guide/blueprints/winrm/client.md
index f396b1c..f02ebbc 100644
--- a/guide/blueprints/winrm/client.md
+++ b/guide/blueprints/winrm/client.md
@@ -50,7 +50,7 @@ where Apache Brooklyn complains about failing to connect to 
the IP you should ch
 If the quick list above doesn't help then follow the steps bellow.
 
 To speed up diagnosing the problem we advice to trigger a deployment with the 
JcloudsLocation flag `destroyOnFailure: false` so you can check status of the 
provisioned machine
-or try later different WinRM parameters with a Apache Brooklyn [BYON 
Location](../../locations/index.html#byon).
+or try later different WinRM parameters with a Apache Brooklyn [BYON 
Location](../../locations/index.md#byon).
 
 After you determined what is the username and the password you can proceed 
with next steps.
 *(Notice that for cloud providers which use Auto Generated password will not 
be logged.

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/blueprints/winrm/index.md
----------------------------------------------------------------------
diff --git a/guide/blueprints/winrm/index.md b/guide/blueprints/winrm/index.md
index f07582c..7c8b395 100644
--- a/guide/blueprints/winrm/index.md
+++ b/guide/blueprints/winrm/index.md
@@ -73,7 +73,7 @@ A Sample Blueprint
 
 Creating a Windows VM is done using the 
`org.apache.brooklyn.entity.software.base.VanillaWindowsProcess` entity type. 
This is very similar
 to `VanillaSoftwareProcess`, but adapted to work for Windows and WinRM instead 
of Linux. We suggest you read the
-[documentation for VanillaSoftwareProcess]({{ book.path.guide 
}}/blueprints/custom-entities.html#vanilla-software-using-bash) to find out 
what you
+[documentation for 
VanillaSoftwareProcess](../custom-entities.md#vanilla-software-using-bash) to 
find out what you
 can do with this entity.
 
 Entity authors are strongly encouraged to write Windows Powershell or Batch 
scripts as separate 
@@ -130,7 +130,7 @@ Brooklyn source code]({{ book.brooklyn.url.git 
}}/software/database/src/main/res
 Tips and Tricks
 ---------------
 
-The best practices for other entities (e.g. using [VanillaSoftwareProcess]({{ 
book.path.guide }}/blueprints/custom-entities.html#vanilla-software-using-bash))
+The best practices for other entities (e.g. using 
[VanillaSoftwareProcess](../custom-entities.md#vanilla-software-using-bash))
 apply for WinRM as well.
 
 ### Execution Phases
@@ -280,7 +280,7 @@ Re-authentication also requires that the password 
credentials are passed in plai
 script. Please be aware that it is normal for script files - and therefore the 
plaintext password - 
 to be saved to the VM's disk. The scripts are also accessible via the Brooklyn 
web-console's 
 activity view. Access to the latter can be controlled via 
-[Entitlements]({{book.path.guide}}/blueprints/java/entitlements.html).
+[Entitlements](../java/entitlements.md).
 
 As an example (taken from MSSQL install), the command below works when run 
locally, but fails over 
 WinRM:

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/blueprints/yaml-reference.md
----------------------------------------------------------------------
diff --git a/guide/blueprints/yaml-reference.md 
b/guide/blueprints/yaml-reference.md
index 7800221..f4a89f9 100644
--- a/guide/blueprints/yaml-reference.md
+++ b/guide/blueprints/yaml-reference.md
@@ -80,7 +80,7 @@ the entity being defined, with these being the most common:
   * `default`: a default value; this will be coerced to the declared `type`
   * `pinned`: mark the parameter as pinned (always displayed) for the UI. The 
default is `true`
   * `constraints`: a list of constraints the parameter should meet;
-    for details, see [Entity Configuration]({{ book.path.guide 
}}/blueprints/entity-configuration.html#config-key-constraints).
+    for details, see [Entity 
Configuration](entity-configuration.md#config-key-constraints).
 
   A shorthand notation is also supported where just the name of the parameter 
is supplied
   as an item in the list, with the other values being unset or the default.

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/locations/_AWS.md
----------------------------------------------------------------------
diff --git a/guide/locations/_AWS.md b/guide/locations/_AWS.md
index 633d627..c4d6bd1 100644
--- a/guide/locations/_AWS.md
+++ b/guide/locations/_AWS.md
@@ -26,7 +26,7 @@ An example of the expected format is shown below:
         credential: abcdefghijklmnopqrstu+vwxyzabcdefghijklm
 
 Users are strongly recommended to use 
-[externalized configuration]({{ book.path.guide 
}}/ops/externalized-configuration.html) for better
+[externalized configuration](../ops/externalized-configuration.md) for better
 credential management, for example using [Vault](https://www.vaultproject.io/).
 
 

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/locations/_GCE.md
----------------------------------------------------------------------
diff --git a/guide/locations/_GCE.md b/guide/locations/_GCE.md
index 9167ab7..0641d79 100644
--- a/guide/locations/_GCE.md
+++ b/guide/locations/_GCE.md
@@ -56,7 +56,7 @@ However, this can make it harder to setup and manage multiple 
Brooklyn servers (
 when using high availability mode).
 
 Users are strongly recommended to use 
-[externalized configuration]({{ book.path.guide 
}}/ops/externalized-configuration.html) for better
+[externalized configuration](../ops/externalized-configuration.md) for better
 credential management, for example using [Vault](https://www.vaultproject.io/).
 
 

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/locations/_byon.md
----------------------------------------------------------------------
diff --git a/guide/locations/_byon.md b/guide/locations/_byon.md
index b815072..a571899 100644
--- a/guide/locations/_byon.md
+++ b/guide/locations/_byon.md
@@ -48,7 +48,7 @@ brooklyn.location.named.On-Prem\ Iron\ 
Example.privateKeyPassphrase=s3cr3tpassph
 ```
 
 Alternatively, you can create a specific BYON location through the location 
wizard tool available within the web console.
-This location will be saved as a [catalog entry]({{ book.path.guide 
}}/blueprints/catalog/index.html#locations-in-catalog) for easy reusability.
+This location will be saved as a [catalog 
entry](../blueprints/catalog/index.md#locations-in-catalog) for easy 
reusability.
 
 For more complex host configuration, one can define custom config values per 
machine. In the example 
 below, there will be two machines. The first will be a machine reachable on

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/locations/_clouds.md
----------------------------------------------------------------------
diff --git a/guide/locations/_clouds.md b/guide/locations/_clouds.md
index 25bb66d..d5f49be 100644
--- a/guide/locations/_clouds.md
+++ b/guide/locations/_clouds.md
@@ -27,7 +27,7 @@ location:
 ``` 
 
 The above YAML can be embedded directly in blueprints, either at the root or 
on individual services.
-If you prefer to keep the credentials separate, you can instead store them as 
a [catalog entry]({{ book.path.guide 
}}/blueprints/catalog/index.html#locations-in-catalog) or set them in 
`brooklyn.properties` 
+If you prefer to keep the credentials separate, you can instead store them as 
a [catalog entry](../blueprints/catalog/index.md#locations-in-catalog) or set 
them in `brooklyn.properties` 
 in the `jclouds.<provider>` namespace:
 
 ```bash
@@ -39,7 +39,7 @@ And in this case you can reference the location in YAML with 
`location: jclouds:
 
 Alternatively, you can use the location wizard tool available within the web 
console
 to create any cloud location supported by <a href="http://jclouds.org";>Apache 
jclouds</a>.
-This location will be saved as a [catalog entry]({{ book.path.guide 
}}/blueprints/catalog/index.html#locations-in-catalog) for easy reusability.
+This location will be saved as a [catalog 
entry](../blueprints/catalog/index.md#locations-in-catalog) for easy 
reusability.
 
 Brooklyn irons out many of the differences between clouds so that blueprints 
run similarly
 in a wide range of locations, including setting up access and configuring 
images and machine specs.

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/locations/_cloudstack.md
----------------------------------------------------------------------
diff --git a/guide/locations/_cloudstack.md b/guide/locations/_cloudstack.md
index e56cad6..e2fb52c 100644
--- a/guide/locations/_cloudstack.md
+++ b/guide/locations/_cloudstack.md
@@ -21,7 +21,7 @@ the CloudStack gui: under accounts, select "view users", then 
"generate key".
         credential: 
mycred-abcdefghijklmnopqrstuvwxyz01234567890-abcdefghijklmnopqrstuvwxyz01234567890-abc
 
 Users are strongly recommended to use 
-[externalized configuration]({{ book.path.guide 
}}/ops/externalized-configuration.html) for better
+[externalized configuration](../ops/externalized-configuration.md) for better
 credential management, for example using [Vault](https://www.vaultproject.io/).
 
 

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/locations/_ibm-softlayer.md
----------------------------------------------------------------------
diff --git a/guide/locations/_ibm-softlayer.md 
b/guide/locations/_ibm-softlayer.md
index 5300944..6f1982c 100644
--- a/guide/locations/_ibm-softlayer.md
+++ b/guide/locations/_ibm-softlayer.md
@@ -20,7 +20,7 @@ For example:
         credential: 
1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
 
 Users are strongly recommended to use 
-[externalized configuration]({{ book.path.guide 
}}/ops/externalized-configuration.html) for better
+[externalized configuration](../ops/externalized-configuration.md) for better
 credential management, for example using [Vault](https://www.vaultproject.io/).
 
 

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/locations/_localhost.md
----------------------------------------------------------------------
diff --git a/guide/locations/_localhost.md b/guide/locations/_localhost.md
index 98183e4..726234f 100644
--- a/guide/locations/_localhost.md
+++ b/guide/locations/_localhost.md
@@ -19,7 +19,7 @@ If you use a passphrase or prefer a different key, these can 
be configured as fo
 
 
 Alternatively, you can create a specific localhost location through the 
location wizard tool available within the web console.
-This location will be saved as a [catalog entry]({{ book.path.guide 
}}/blueprints/catalog/index.html#locations-in-the-catalog) 
+This location will be saved as a [catalog 
entry](../blueprints/catalog/index.md#locations-in-the-catalog) 
 for easy reusability.
 
 

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/locations/_location-customizer-security-groups.md
----------------------------------------------------------------------
diff --git a/guide/locations/_location-customizer-security-groups.md 
b/guide/locations/_location-customizer-security-groups.md
index d7a986b..4dac838 100644
--- a/guide/locations/_location-customizer-security-groups.md
+++ b/guide/locations/_location-customizer-security-groups.md
@@ -6,7 +6,7 @@ section_type: inline
 
 ## Customizing Cloud Security Groups
 
-Before using SharedLocationSecurityGroupCustomizer, please first refer to 
[Port Inferencing](../../blueprints/custom-entities.html#port-inferencing).
+Before using SharedLocationSecurityGroupCustomizer, please first refer to 
[Port Inferencing](../blueprints/custom-entities.md#port-inferencing).
 
 A security group is a named collection of network access rules that are use to 
limit the types of traffic that have access to instances.<br>
 Security group is the standard way to set firewall restrictions on the AWS-EC2 
environment.

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/locations/_location-customizers.md
----------------------------------------------------------------------
diff --git a/guide/locations/_location-customizers.md 
b/guide/locations/_location-customizers.md
index 145c158..351144e 100644
--- a/guide/locations/_location-customizers.md
+++ b/guide/locations/_location-customizers.md
@@ -9,7 +9,7 @@ section_position: 11
 Apache Brooklyn supports a number of ways to configure and customize 
locations. These include
 the `JcloudsLocationCustomizer`, which is for advanced customization of VM 
provisioning through jclouds.
 There is also a `MachineLocationCustomizer`, which allows customization of 
machines being obtained 
-from any kind of location (including [Bring Your Own Nodes](index.html#byon)).
+from any kind of location (including [Bring Your Own Nodes](index.md#byon)).
 
 
 #### Usage Guidelines

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/locations/_openstack.md
----------------------------------------------------------------------
diff --git a/guide/locations/_openstack.md b/guide/locations/_openstack.md
index 3a04fe7..cbad072 100644
--- a/guide/locations/_openstack.md
+++ b/guide/locations/_openstack.md
@@ -31,7 +31,7 @@ as an openrc.sh file. It is usually available from API Access 
tab in "Access & S
 This file will normally contain the identity and credential.
 
 Users are strongly recommended to use 
-[externalized configuration]({{ book.path.guide 
}}/ops/externalized-configuration.html) for better
+[externalized configuration](../ops/externalized-configuration.md) for better
 credential management, for example using [Vault](https://www.vaultproject.io/).
 
 

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/locations/_ssh-keys.md
----------------------------------------------------------------------
diff --git a/guide/locations/_ssh-keys.md b/guide/locations/_ssh-keys.md
index 007bdaf..a5d4b9d 100644
--- a/guide/locations/_ssh-keys.md
+++ b/guide/locations/_ssh-keys.md
@@ -67,7 +67,7 @@ If this isn't the case, see below.
 * **MacOS user?** In addition to the above, enable "Remote Login" in "System 
Preferences > Sharing".
 
 * **Got a passphrase?** Set `brooklyn.location.localhost.privateKeyPassphrase`
-  as described [here](index.html#os-setup).
+  as described [here](index.md#os-setup).
   If you're not sure, or you don't know what a passphrase is, you can test 
this by executing `ssh-keygen -y`.
   If it does *not* ask for a passphrase, then your key has no passphrase.
   If your key does have a passphrase, you can remove it by running `ssh-keygen 
-p`.
@@ -85,4 +85,4 @@ If this isn't the case, see below.
   if command-line `ssh` and `scp` work, but Brooklyn/java does not, check the 
versions enabled in Java and on both servers.
 
 * Missing entropy: creating and using ssh keys requires randomness available 
on the servers,
-  usually in `/dev/random`; see [here]({{ book.path.guide 
}}/ops/troubleshooting/increase-entropy.html) for more information
+  usually in `/dev/random`; see 
[here](../ops/troubleshooting/increase-entropy.md) for more information

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/locations/cloud-credentials.md
----------------------------------------------------------------------
diff --git a/guide/locations/cloud-credentials.md 
b/guide/locations/cloud-credentials.md
index 36041e0..f68ca19 100644
--- a/guide/locations/cloud-credentials.md
+++ b/guide/locations/cloud-credentials.md
@@ -3,4 +3,4 @@ title: More Clouds
 layout: website-normal
 ---
 
-This page has moved. See [More 
Clouds](index.html#more-details-on-specific-clouds) instead.
+This page has moved. See [More 
Clouds](index.md#more-details-on-specific-clouds) instead.

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/locations/index.md
----------------------------------------------------------------------
diff --git a/guide/locations/index.md b/guide/locations/index.md
index 0e9cd38..ec460fd 100644
--- a/guide/locations/index.md
+++ b/guide/locations/index.md
@@ -13,11 +13,11 @@ to a pre-provisioned network or to localhost (primarily 
useful for testing bluep
 
 See also:
 
-* The [Locations yaml guide]({{ book.path.guide 
}}/blueprints/setting-locations.html)
+* The [Locations yaml guide](../blueprints/setting-locations.md)
 * Use within an entity of the configuration option 
-  [provisioning.properties]({{ book.path.guide 
}}/blueprints/entity-configuration.html#entity-provisioningproperties-overriding-and-merging)
-* How to add location definitions to the [Catalog]({{ book.path.guide 
}}/blueprints/catalog/); and 
-* How to use [Externalized Configuration]({{ book.path.guide 
}}/ops/externalized-configuration.html).
+  
[provisioning.properties](../blueprints/entity-configuration.md#entity-provisioningproperties-overriding-and-merging)
+* How to add location definitions to the 
[Catalog](../blueprints/catalog/index.md); and 
+* How to use [Externalized 
Configuration](../ops/externalized-configuration.md).
 
 The requirements for how a provisioned machine should behave will depend on the
 entites subsequently deployed there.
@@ -71,7 +71,7 @@ Try executing:
 
     sudo whoami
 
-See [Passwordless Sudo]({{ book.path.guide 
}}/locations/index.html#passwordless-sudo).
+See [Passwordless Sudo](#passwordless-sudo).
 
 
 ## Advertised Addresses
@@ -156,7 +156,7 @@ The result should be more than 1M.
 
 If not, consider setting `installDevUrandom: true` for jclouds-based locations.
 
-See instructions to [Increase Entropy]({{ book.path.guide 
}}/ops/troubleshooting/increase-entropy.html).
+See instructions to [Increase 
Entropy](../ops/troubleshooting/increase-entropy.md).
 
 
 ## File System

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/misc/download.md
----------------------------------------------------------------------
diff --git a/guide/misc/download.md b/guide/misc/download.md
index 35f5b32..3bf1883 100644
--- a/guide/misc/download.md
+++ b/guide/misc/download.md
@@ -101,7 +101,7 @@ The latest stable release can be accessed on the [main 
download page]({{ book.pa
 
 ## Release Notes
 
-Release notes can be found [here]({{ book.path.guide 
}}/misc/release-notes.html).
+Release notes can be found [here](release-notes.md).
 
 <a name="maven"></a>
 

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/ops/cli/cli-usage-guide.md
----------------------------------------------------------------------
diff --git a/guide/ops/cli/cli-usage-guide.md b/guide/ops/cli/cli-usage-guide.md
index 9ec1ea2..c22e8d0 100644
--- a/guide/ops/cli/cli-usage-guide.md
+++ b/guide/ops/cli/cli-usage-guide.md
@@ -440,7 +440,7 @@ tvZoNUTN   ssh: launching NginxControllerImpl{id...   Sun 
Dec 20 19:18:08 GMT 20
 ```
 
 ## YAML Blueprint
-This is the YAML blueprint used for this document, based on the [web 
cluster](../../blueprints/clusters-and-policies.html) examples.
+This is the YAML blueprint used for this document, based on the [web 
cluster](../../blueprints/clusters-and-policies.md) examples.
 
 ```text
 name: WebCluster

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/ops/cli/index.md
----------------------------------------------------------------------
diff --git a/guide/ops/cli/index.md b/guide/ops/cli/index.md
index 6b67ed2..2b2903d 100644
--- a/guide/ops/cli/index.md
+++ b/guide/ops/cli/index.md
@@ -8,7 +8,7 @@ children:
 
 
 **NOTE:** These documents are for using the Brooklyn Client CLI tool to access 
a running Brooklyn Server.  For
-information on starting on a Brooklyn Server, refer to [Server CLI 
Reference](../server-cli-reference.html).
+information on starting on a Brooklyn Server, refer to [Server CLI 
Reference](../server-cli-reference.md).
 
 ## Obtaining the CLI tool
 

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/ops/configuration/brooklyn_cfg.md
----------------------------------------------------------------------
diff --git a/guide/ops/configuration/brooklyn_cfg.md 
b/guide/ops/configuration/brooklyn_cfg.md
index 2355a44..84e50de 100644
--- a/guide/ops/configuration/brooklyn_cfg.md
+++ b/guide/ops/configuration/brooklyn_cfg.md
@@ -11,7 +11,7 @@ children:
 ---
 # {{ page.title }}
 
-The file `brooklyn.cfg` is read when Apache Brooklyn starts in order to load 
any server configuration values. It can be found in the Brooklyn configuration 
folder. You can check [here](../paths.html) for the location of your Brooklyn 
configuration folder
+The file `brooklyn.cfg` is read when Apache Brooklyn starts in order to load 
any server configuration values. It can be found in the Brooklyn configuration 
folder. You can check [here](../paths.md) for the location of your Brooklyn 
configuration folder
 
 ## Quick Setup
 
@@ -45,7 +45,7 @@ More information, including setting up a certificate, is 
described [further belo
 Values in `brooklyn.cfg` can use the Camp YAML syntax. Any value starting 
`$brooklyn:` is 
 parsed as a Camp YAML expression.
 
-This allows [externalized configuration]({{ book.path.guide 
}}/ops/externalized-configuration.html) to be used from 
+This allows [externalized configuration](../externalized-configuration.md) to 
be used from 
 `brooklyn.cfg`. For example:
 
 ```properties
@@ -189,7 +189,7 @@ brooklyn.entitlements.perUser.metrics=minimal
 ```
 
 For more information, see 
-[Java: Entitlements]({{ book.path.guide }}/blueprints/java/entitlements.html).
+[Java: Entitlements](../../blueprints/java/entitlements.md).
 or
 
[EntitlementManager](https://brooklyn.apache.org/v/latest/misc/javadoc/org/apache/brooklyn/api/mgmt/entitlement/EntitlementManager.html).
 
@@ -197,6 +197,6 @@ or
 
 ## HTTPS Configuration
 
-See [HTTPS Configuration](https.html) for general information on configuring 
HTTPS.
+See [HTTPS Configuration](https.md) for general information on configuring 
HTTPS.
 
 

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/ops/configuration/cors.md
----------------------------------------------------------------------
diff --git a/guide/ops/configuration/cors.md b/guide/ops/configuration/cors.md
index bf4c9ba..6267818 100644
--- a/guide/ops/configuration/cors.md
+++ b/guide/ops/configuration/cors.md
@@ -5,7 +5,7 @@ layout: website-normal
 # {{ page.title }}
 
 To enable / configure [cross-origin resource sharing 
(CORS)](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing).
-The following file must be added to 
[`org.apache.brooklyn.rest.filter.cors.cfg`](../paths.html)
+The following file must be added to 
[`org.apache.brooklyn.rest.filter.cors.cfg`](../paths.md)
 
 ```properties
 # Enables experimental support for Cross Origin Resource Sharing (CORS) 
filtering in Apache Brooklyn REST API.
@@ -41,6 +41,6 @@ cors.preflight.error.status=200
 #cors.block.if.unauthorized=false
 ```
 
-*NOTE*: You must [restart Brooklyn](../starting-stopping-monitoring.html) for 
these changes to be applied
+*NOTE*: You must [restart Brooklyn](../starting-stopping-monitoring.md) for 
these changes to be applied
 
 Further information on client side 
[usage](https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/ops/configuration/https.md
----------------------------------------------------------------------
diff --git a/guide/ops/configuration/https.md b/guide/ops/configuration/https.md
index 0ae9ea2..5508ef1 100644
--- a/guide/ops/configuration/https.md
+++ b/guide/ops/configuration/https.md
@@ -47,7 +47,7 @@ and then convert it into a keystore `keystore.jks` as follows:
 
 ## HTTPS Configuration
 
-In [`org.ops4j.pax.web.cfg`](../paths.html) in the Brooklyn distribution root, 
un-comment the settings:
+In [`org.ops4j.pax.web.cfg`](../paths.md) in the Brooklyn distribution root, 
un-comment the settings:
 
 ```properties
 org.osgi.service.http.port.secure=8443

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/ops/configuration/index.md
----------------------------------------------------------------------
diff --git a/guide/ops/configuration/index.md b/guide/ops/configuration/index.md
index 0636206..e80bfa3 100644
--- a/guide/ops/configuration/index.md
+++ b/guide/ops/configuration/index.md
@@ -13,9 +13,9 @@ children:
 
 Apache Brooklyn contains a number of configuration options managed across 
several files. 
 Historically Brooklyn has been configured through a brooklyn.properties file, 
this changed 
-to a [brooklyn.cfg](brooklyn_cfg.html) file when the Karaf release became the 
default in Brooklyn 0.12.0.
+to a [brooklyn.cfg](brooklyn_cfg.md) file when the Karaf release became the 
default in Brooklyn 0.12.0.
 
-The configurations for [persistence](../persistence/index.html) and [high 
availability](../high-availability/index.html) are described
+The configurations for [persistence](../persistence/index.md) and [high 
availability](../high-availability/index.md) are described
 elsewhere in this manual.
 
 Configuration of Apache Brooklyn when running under Karaf is largely done 
through standard Karaf mechanisms. 
@@ -70,21 +70,15 @@ groups which can be configured as detailed 
[here](https://karaf.apache.org/manua
 
 * Apache Brooklyn authentication
 
-Users and passwords for Brooklyn can be configured in the brooklyn.cfg as 
detailed [here](brooklyn_cfg.html#authentication).
+Users and passwords for Brooklyn can be configured in the brooklyn.cfg as 
detailed [here](brooklyn_cfg.md#authentication).
 
 ### HTTPS Configuration
 
-See [HTTPS Configuration](https.html) for general information on configuring 
HTTPS.
+See [HTTPS Configuration](https.md) for general information on configuring 
HTTPS.
 
-
-<!--
-----------
--- NOTE: comment out this section on catalog as the behaviour described is not 
enabled by default since
--- https://github.com/apache/brooklyn-server/pull/233; re-enable this when 
that changes
-----------
 ## Catalog in Karaf  
 With the traditional launcher, Brooklyn loads the initial contents of the 
catalog from a `default.catalog.bom` file
-as described in the section on 
[installation](/guide/ops/production-installation.html). Brooklyn finds Java 
+as described in the section on [installation](../production-installation.md). 
Brooklyn finds Java 
 implementations to provide for certain things in blueprints (entities, 
enrichers etc.) by scanning the classpath. 
 
 In the OSGI world this approach is not used, as each bundle only has 
visibility of its own and its imported Java packages. 
@@ -138,7 +132,5 @@ In the OSGi world specifying class names by string in 
Brooklyn's configuration w
 for classes living in Brooklyn's core modules. Raise an issue or ping us on 
IRC if you find
 a case where this doesn't work for you. For custom SecurityProvider 
implementations refer to the
 documentation of BrooklynLoginModule.
-    
- END Catalog in Karaf comment -->
 
 

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/ops/gui/blueprints.md
----------------------------------------------------------------------
diff --git a/guide/ops/gui/blueprints.md b/guide/ops/gui/blueprints.md
index e325195..6888972 100644
--- a/guide/ops/gui/blueprints.md
+++ b/guide/ops/gui/blueprints.md
@@ -37,7 +37,7 @@ location:
     credential: s3cr3tsq1rr3ls3cr3tsq1rr3ls3cr3tsq1rr3l
 ```
 
-**NOTE**: See __[Locations](../locations)__ in the Operations section of the 
User Guide for instructions on setting up alternate cloud providers, 
bring-your-own-nodes, or localhost targets, and storing credentials/locations 
in a file on disk rather than in the blueprint.
+**NOTE**: See __[Locations](../../locations/index.md)__ in the Operations 
section of the User Guide for instructions on setting up alternate cloud 
providers, bring-your-own-nodes, or localhost targets, and storing 
credentials/locations in a file on disk rather than in the 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.
@@ -62,4 +62,4 @@ See __[Catalog](../catalog/)__ in the Operations section of 
the User Guide for i
 ## Next 
 
 So far we have touched on Brooklyn's ability to *deploy* an application 
blueprint to a cloud provider.  
-The next section will show how to **[Monitor and Manage 
Applications](managing.html)**.
+The next section will show how to **[Monitor and Manage 
Applications](managing.md)**.

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/ops/gui/managing.md
----------------------------------------------------------------------
diff --git a/guide/ops/gui/managing.md b/guide/ops/gui/managing.md
index 68eaf9f..16caf38 100644
--- a/guide/ops/gui/managing.md
+++ b/guide/ops/gui/managing.md
@@ -68,4 +68,4 @@ To stop an application, select the application in the tree 
view (the top/root en
 
 ## Next
 
-Brooklyn's real power is in using **[Policies](policies.html)**  to 
automatically *manage* applications. 
+Brooklyn's real power is in using **[Policies](policies.md)**  to 
automatically *manage* applications. 

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/ops/gui/policies.md
----------------------------------------------------------------------
diff --git a/guide/ops/gui/policies.md b/guide/ops/gui/policies.md
index 0ae40c0..c8f986f 100644
--- a/guide/ops/gui/policies.md
+++ b/guide/ops/gui/policies.md
@@ -44,5 +44,5 @@ targets changes.
 
 This guide has given a quick overview of using the Apache Brooklyn GUI to 
deploy, monitor and manage applications. The GUI also allows you to perform 
various Advanced management tasks and to explore and use the REST API (from the 
Script tab).  Please take some time now to become more familiar with the GUI.
 
-Then continue to read through the [Operations Guide](../).
+Then continue to read through the [Operations Guide](../rest.md).
 

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/ops/gui/running.md
----------------------------------------------------------------------
diff --git a/guide/ops/gui/running.md b/guide/ops/gui/running.md
index deec57b..c998674 100644
--- a/guide/ops/gui/running.md
+++ b/guide/ops/gui/running.md
@@ -8,7 +8,7 @@ menu_parent: index.md
 
 This guide will walk you through connecting to the Brooklyn Server Graphical 
User Interface and performing various tasks.
 
-For an explanation of common Brooklyn Concepts see the [Brooklyn Concepts 
Quickstart](../../start/concept-quickstart.html) or see the  full guide in the 
[Brooklyn Concepts](../../concepts) chapter of the [User Guide](../../).
+For an explanation of common Brooklyn Concepts see the [Brooklyn Concepts 
Quickstart](../../start/concept-quickstart.md) or see the  full guide in the 
[Brooklyn Concepts](../../concepts/index.md) chapter of the [User 
Guide](../../).
 
 This guide assumes that you are using Linux or Mac OS X and that Brooklyn 
Server will be running on your local system.
 
@@ -18,8 +18,8 @@ If you haven't already done so, you will need to start 
Brooklyn Server using the
 It is not necessary at this time, but depending on what you are going to do, 
 you may wish to set up some other configuration options first,
  
-* [Security]({{ book.path.guide }}/ops/configuration/brooklyn_cfg.html)
-* [Persistence]({{ book.path.guide }}/ops/persistence/)
+* [Security](../configuration/brooklyn_cfg.md)
+* [Persistence](../persistence/index.md)
 
 Now start Brooklyn with the following command:
 
@@ -28,7 +28,7 @@ $ cd apache-brooklyn-{{ book.brooklyn.version }}
 $ bin/brooklyn launch
 ```
 
-Please refer to the [Server CLI Reference](../server-cli-reference.html) for 
details of other possible command line options.
+Please refer to the [Server CLI Reference](../server-cli-reference.md) for 
details of other possible command line options.
 
 Brooklyn will output the address of the management interface:
 
@@ -52,4 +52,4 @@ No applications have been deployed yet, so the "Create 
Application" dialog opens
 
 
 ## Next
-The next section will show how to **[deploy a blueprint](blueprints.html)**.
\ No newline at end of file
+The next section will show how to **[deploy a blueprint](blueprints.md)**.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/ops/high-availability/high-availability-supplemental.md
----------------------------------------------------------------------
diff --git a/guide/ops/high-availability/high-availability-supplemental.md 
b/guide/ops/high-availability/high-availability-supplemental.md
index cdc4c6a..562c960 100644
--- a/guide/ops/high-availability/high-availability-supplemental.md
+++ b/guide/ops/high-availability/high-availability-supplemental.md
@@ -4,7 +4,7 @@ layout: website-normal
 ---
 # {{ page.title }}
 
-This supplements the [High Availability](./) documentation
+This supplements the [High Availability](index.md) documentation
 and provides an example of how to configure a pair of Apache Brooklyn servers 
to run in master-standby mode with a shared NFS datastore
 
 ### Prerequisites
@@ -18,9 +18,9 @@ is assumed in this example
 
 ### Launching
 To start, download and install the latest Apache Brooklyn release on both VMs 
following the instructions in
-[Running Apache Brooklyn]({{ book.path.guide }}/start/running.html)
+[Running Apache Brooklyn](../../start/running.md)
 
-On the first VM, which will be the master node, set the following 
configuration options in 
[`org.apache.brooklyn.osgilauncher.cfg`](../paths.html):
+On the first VM, which will be the master node, set the following 
configuration options in [`org.apache.brooklyn.osgilauncher.cfg`](../paths.md):
 
 - highAvailabilityMode: MASTER
 - persistMode: AUTO
@@ -32,10 +32,10 @@ Then launch Brooklyn with:
 $ bin/start
 ```
 
-If you are using RPMs/deb to install, please see the [Running Apache 
Brooklyn]({{ book.path.guide }}/start/running.html) 
+If you are using RPMs/deb to install, please see the [Running Apache 
Brooklyn](../../start/running.md) 
 documentation for the appropriate launch commands
 
-Once Brooklyn has launched, on the second VM, set the following configuration 
options in [`org.apache.brooklyn.osgilauncher.cfg`](../paths.html):
+Once Brooklyn has launched, on the second VM, set the following configuration 
options in [`org.apache.brooklyn.osgilauncher.cfg`](../paths.md):
 
 - highAvailabilityMode: AUTO
 - persistMode: AUTO

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/ops/high-availability/index.md
----------------------------------------------------------------------
diff --git a/guide/ops/high-availability/index.md 
b/guide/ops/high-availability/index.md
index 3abce1c..1c26473 100644
--- a/guide/ops/high-availability/index.md
+++ b/guide/ops/high-availability/index.md
@@ -29,7 +29,7 @@ Once one node is running as `MASTER`, other nodes start in 
either `STANDBY` or `
   so it can safely be used to test compatibility across different versions.
 
 To explicitly specify what HA mode a node should be in, the following options 
are available
-for the config option `highAvailabilityMode` in 
[`org.apache.brooklyn.osgilauncher.cfg`](../paths.html):
+for the config option `highAvailabilityMode` in 
[`org.apache.brooklyn.osgilauncher.cfg`](../paths.md):
 
 * `DISABLED`: management node works in isolation; it will not cooperate with 
any other standby/master nodes in management plane
 * `AUTO`: will look for other management nodes, and will allocate itself as 
standby or master based on other nodes' states

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/ops/logging.md
----------------------------------------------------------------------
diff --git a/guide/ops/logging.md b/guide/ops/logging.md
index e21c56a..741eae9 100644
--- a/guide/ops/logging.md
+++ b/guide/ops/logging.md
@@ -22,7 +22,7 @@ Loggers follow the ``package.ClassName`` naming standard.
 
 In the OSGi based Apache Brooklyn logging is configured from ops4j pax logging.
 
-See: [Logging - OSGi based Apache 
Brooklyn](../dev/tips/logging.html#osgi-based-apache-brooklyn) <br/>
+See: [Logging - OSGi based Apache 
Brooklyn](../dev/tips/logging.md#osgi-based-apache-brooklyn) <br/>
 
[https://ops4j1.jira.com/wiki/display/paxlogging/Configuration](https://ops4j1.jira.com/wiki/display/paxlogging/Configuration)
 
 
@@ -77,5 +77,5 @@ which can then [feed its logs to 
Logstash](http://www.logstash.net/docs/1.4.2/in
 The following resources may be useful when configuring logging:
 
 * The [logback-includes]({{ book.brooklyn.url.git }}/usage/logback-includes) 
project
-* [Brooklyn Developer Guide]({{ book.path.guide }}/dev/tips/logging.html) 
logging tips
+* [Brooklyn Developer Guide](../dev/tips/logging.md) logging tips
 * The [Logback Project](http://logback.qos.ch/) home page

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/ops/persistence/index.md
----------------------------------------------------------------------
diff --git a/guide/ops/persistence/index.md b/guide/ops/persistence/index.md
index 6619769..d52d7e6 100644
--- a/guide/ops/persistence/index.md
+++ b/guide/ops/persistence/index.md
@@ -31,7 +31,7 @@ directory of your Brooklyn instance. The following options 
are available:
 * `CLEAN` - will start up fresh (removing any existing state)
 
 `persistenceDir` - This is the directory to which Apache Brooklyn reads and 
writes its persistence data. The default location depends
-on your installation method. Checkout [this page](../paths.html) for more 
information.
+on your installation method. Checkout [this page](../paths.md) for more 
information.
 
 `persistenceLocation` - This is the location for an object store to read and 
write persisted state.
 
@@ -41,7 +41,7 @@ is carried out, for example `1s`.
 
 # File-based Persistence
 
-Apache Brooklyn starts with file-based persistence by default, saving data in 
the [persisted state folder](../paths.html).
+Apache Brooklyn starts with file-based persistence by default, saving data in 
the [persisted state folder](../paths.md).
 For the rest of this document we will refer to this location as 
`%persistence-home%`.
 
 If there is already data at `%persistence-home%/data`, then a backup of the 
directory will 
@@ -107,7 +107,7 @@ any registered policies.
 ## Handling Rebind Failures
 
 If rebind fails fail for any reason, details of the underlying failures will 
be reported 
-in the [`brooklyn.debug.log`](../paths.html). This will include the entities, 
locations or policies which caused an issue, and in what 
+in the [`brooklyn.debug.log`](../paths.md). This will include the entities, 
locations or policies which caused an issue, and in what 
 way it failed. There are several approaches to resolving problems.
 
 1) Determine Underlying Cause
@@ -190,7 +190,7 @@ Behaviour on rebind:
 
 * By extending `SoftwareProcess`, entities get a lot of the rebind logic for 
free. For 
   example, the default `rebind()` method will call `connectSensors()`.
-  See [`SoftwareProcess` Lifecycle](/blueprints/java/entities.html)
+  See [`SoftwareProcess` Lifecycle](../../blueprints/java/entities.md)
   for more details.
 * If necessary, implement rebind. The `entity.rebind()` is called 
automatically by the
   Brooklyn framework on rebind, after configuring the entity's 
config/attributes but before 

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/ops/production-installation.md
----------------------------------------------------------------------
diff --git a/guide/ops/production-installation.md 
b/guide/ops/production-installation.md
index bdb9aa5..5e218fa 100644
--- a/guide/ops/production-installation.md
+++ b/guide/ops/production-installation.md
@@ -6,38 +6,38 @@ title: Production Installation
 
 To install Apache Brooklyn on a production server:
 
-1. [Set up the prerequisites](#prerequisites)
-1. [Download Apache Brooklyn](#download)
-1. [Configuring brooklyn.cfg](#configuring-properties)
+1. [Set up the prerequisites](#set-up-the-prerequisites)
+1. [Download Apache Brooklyn](#download-apache-brooklyn)
+1. [Configuring brooklyn.cfg](#configuring-brooklyncfg)
 1. [Configuring Karaf Security](#configuring-karaf-security)
-1. [Configuring default.catalog.bom](#configuring-catalog)
-1. [Test the installation](#confirm)
+1. [Configuring default.catalog.bom](#configuring-the-catalog)
+1. [Test the installation](#confirm-installation)
 
 This guide covers the basics. You may also wish to configure:
 
-* [Logging]({{ book.path.guide }}/ops/logging.html)
-* [Persistence](persistence/)
-* [High availability](high-availability/)
+* [Logging](logging.md)
+* [Persistence](persistence/index.md)
+* [High availability](high-availability/index.md)
 
 
-### <a id="prerequisites"></a>Set up the Prerequisites
+### Set up the Prerequisites
 
-Check that the server meets the [requirements](requirements.html).
+Check that the server meets the [requirements](requirements.md).
 Then configure the server as follows:
 
 * install Java JRE or JDK (version 8 or later)
 * enable "Java Cryptography Extension" (already enabled out of the box of 
OpenJDK installs)
-* install an [SSH key]({{ book.path.guide }}/locations/index.html#ssh-keys), 
if not available
-* if the "localhost" location will be used, enable [passwordless ssh login]({{ 
book.path.guide }}/locations/index.html#ssh-keys)
+* install an [SSH key](../locations/index.md#ssh-keys), if not available
+* if the "localhost" location will be used, enable [passwordless ssh 
login](../locations/index.md#ssh-keys)
 * create a `~/.brooklyn` directory on the host with `$ mkdir ~/.brooklyn`
 * check your `iptables` or other firewall service, making sure that incoming 
connections on port 8443 is not blocked
-* check that the [linux kernel entropy]({{ book.path.guide 
}}/ops/troubleshooting/increase-entropy.html) is sufficient
-* check that the [ulimit values]({{ book.path.guide 
}}/ops/troubleshooting/increase-system-resource-limits.html) are sufficiently 
high
+* check that the [linux kernel entropy](troubleshooting/increase-entropy.md) 
is sufficient
+* check that the [ulimit 
values](troubleshooting/increase-system-resource-limits.md) are sufficiently 
high
 * ensure external libraries are up-to-date, including `nss` for SSL. 
 * ensure the time is continually accurate, ideally by running a service like 
the [ntp daemon](http://www.ntp.org/).
 
 
-### <a id="download"></a>Download Apache Brooklyn
+### Download Apache Brooklyn
 
 Download Brooklyn and obtain a binary build as described on [the download 
page]({{book.path.website}}/download/).
 
@@ -49,34 +49,34 @@ Expand the `tar.gz` archive:
 
 {% if 'SNAPSHOT' in book.brooklyn_version %}
 ```bash
-% tar -zxf apache-brooklyn-dist-{{ book.brooklyn-stable-version 
}}-timestamp-dist.tar.gz
+% tar -zxf apache-brooklyn-dist-{{ book.brooklyn_version_stable 
}}-timestamp-dist.tar.gz
 ```
 {% else %}
 ```bash
-% tar -zxf apache-brooklyn-{{ book.brooklyn-stable-version }}-dist.tar.gz
+% tar -zxf apache-brooklyn-{{ book.brooklyn_version_stable }}-dist.tar.gz
 ```
 {% endif %}
 
-This will create a `apache-brooklyn-{{ book.brooklyn-stable-version }}` folder.
+This will create a `apache-brooklyn-{{ book.brooklyn_version_stable }}` folder.
 
 Let's setup some paths for easy commands.
 
 ```bash
-% cd apache-brooklyn-{{ book.brooklyn-stable-version }}
+% cd apache-brooklyn-{{ book.brooklyn_version_stable }}
 % BROOKLYN_DIR="$(pwd)"
 % export PATH=$PATH:$BROOKLYN_DIR/bin/
 ```
 
 
-### <a id="configuring-properties"></a>Configuring brooklyn.cfg
+### Configuring brooklyn.cfg
 
-Set up `brooklyn.cfg` as described [here](brooklyn_cfg.html):
+Set up `brooklyn.cfg` as described [here](configuration/brooklyn_cfg.md):
 
 * Configure the users who should have access
 * Turn on HTTPS
 * Supply credentials for any pre-defined clouds
 
-### <a id="configuring-karaf-security"></a>Configuring Karaf Security
+### Configuring Karaf Security
 
 Out of the box, Apache Brooklyn includes the default Karaf security 
configuration.
 This configuration is used to manage connections to the ssh port of Karaf
@@ -84,16 +84,16 @@ This configuration is used to manage connections to the ssh 
port of Karaf
 It is recommended that you update the credentials as detailed in the
 [Karaf 
Security](https://karaf.apache.org/manual/latest/security#_users_groups_roles_and_passwords)
 page.
 
-### <a id="configuring-catalog"></a>Configuring the Catalog
+### Configuring the Catalog
 
 By default Brooklyn loads the catalog of available application components and 
services from 
 `default.catalog.bom` on the classpath. The initial catalog is in 
`conf/brooklyn/` in the dist.
 If you have a preferred catalog, simply replace that file.
 
-[More information on the catalog is available here.](catalog/)
+[More information on the catalog is available 
here.](../blueprints/catalog/index.md)
 
 
-### <a id="confirm"></a>Confirm Installation
+### Confirm Installation
 
 Launch Brooklyn in a disconnected session so it will remain running after you 
have logged out:
 

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/ops/requirements.md
----------------------------------------------------------------------
diff --git a/guide/ops/requirements.md b/guide/ops/requirements.md
index 1c39e0b..0c09256 100644
--- a/guide/ops/requirements.md
+++ b/guide/ops/requirements.md
@@ -29,15 +29,15 @@ There are three main consumers of disk space:
   plus `data/` directory which is generated on first launch.
   Note that Brooklyn requires that Java is installed which
   you may have to consider when calculating disk space requirements.
-* **Persisted state**: when using [Persistence](persistence/index.html) -- 
which
-  is a prerequisite for [High Availability](high-availability) -- Brooklyn
+* **Persisted state**: when using [Persistence](persistence/index.md) -- which
+  is a prerequisite for [High Availability](high-availability/index.md) -- 
Brooklyn
   will save data to a store location. Items in the persisted state include
   metadata about the Brooklyn servers, catalog items, and metadata about all
   running applications and entities.
 * **Log files**: Brooklyn writes info and debug log files. By default, these 
are
   written to the local filesystem. This can be reconfigured to set the
   destination and to increase or decrease the detail in the logs. See the
-  [Logging]({{ book.path.guide }}/ops/logging.html) section for more details.
+  [Logging](logging.md) section for more details.
 
 The Apache Brooklyn distribution itself, when unpacked, consumes approximately
 75MB of disk space. This includes everything needed to run Brooklyn except for 
a
@@ -58,7 +58,7 @@ therefore, can consume up to 2GB of disk space.
 
 In the default configuration of Brooklyn's `.tar.gz` and `.zip` distributions,
 logs are saved to the Brooklyn installation directory. You will most likely 
want
-to [reconfigure Brooklyn's logging]({{ book.path.guide }}/ops/logging.html) to 
save logs to a location
+to [reconfigure Brooklyn's logging](logging.md) to save logs to a location
 elsewhere. In the `.rpm` and `.deb` packaging, logging files will be located
 under `/var/log`. You can further reconfiguring the logging detail level and 
log
 rotation according to your organisation's policy.
@@ -110,9 +110,9 @@ It is normally recommended that Brooklyn run as a non-root 
user with keys instal
 
 ### Linux Kernel Entropy
 
-Check that the [linux kernel entropy]({{ book.path.guide 
}}/ops/troubleshooting/increase-entropy.html) is sufficient.
+Check that the [linux kernel entropy](troubleshooting/increase-entropy.md) is 
sufficient.
 
 
 ### System Resource Limits
 
-Check that the [ulimit values]({{ book.path.guide 
}}/ops/troubleshooting/increase-system-resource-limits.html) are sufficiently 
high.
+Check that the [ulimit 
values](troubleshooting/increase-system-resource-limits.md) are sufficiently 
high.

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/ops/server-cli-reference.md
----------------------------------------------------------------------
diff --git a/guide/ops/server-cli-reference.md 
b/guide/ops/server-cli-reference.md
index 2b6419f..53feebf 100644
--- a/guide/ops/server-cli-reference.md
+++ b/guide/ops/server-cli-reference.md
@@ -5,7 +5,7 @@ layout: website-normal
 # {{ page.title }}
 
 **NOTE:** This document is for information on starting a Brooklyn Server.  For 
information on using the Brooklyn Client CLI to access an 
-already running Brooklyn Server, refer to [Client CLI 
Reference](cli/index.html).
+already running Brooklyn Server, refer to [Client CLI Reference](cli/index.md).
 
 ## Launch command
 
@@ -18,7 +18,7 @@ To launch Brooklyn, from the directory where Brooklyn is 
unpacked, run:
 With no configuration, this will launch the Brooklyn web console and REST API 
on [`http://localhost:8081/`](http://localhost:8081/),
 listening on all network interfaces. No credentials are required by default. 
For a production 
 system, or if Apache Brooklyn is publicly reachable, it is strongly 
recommended to 
-[configure security](brooklyn_cfg.html).
+[configure security](configuration/brooklyn_cfg.md).
 
 By default, Brooklyn will write log messages at the INFO level or above to 
`brooklyn.info.log` and messgages at the
 DEBUG level or above to `brooklyn.debug.log`. Redirecting the output to 
`/dev/null` prevents the default console output
@@ -47,7 +47,7 @@ it keeps running after the shell terminates.
 
 ### Other Server CLI Arguments
 
-The Server CLI arguments for [persistence and HA](persistence/) and the 
[catalog](catalog/#cli-options) are described separately.
+The Server CLI arguments for [persistence and HA](persistence/index.md) and 
the [catalog](../blueprints/catalog/index.md) are described separately.
 
 
 ### Path Setup
@@ -79,7 +79,7 @@ This means that, once the task history is large, Brooklyn 
will continually use t
 memory. It will only expunge tasks from memory when this space is required for 
other objects within the
 Brooklyn process.
 
-See [Memory Usage](troubleshooting/memory-usage.html) for more information on 
memory usage and
+See [Memory Usage](troubleshooting/memory-usage.md) for more information on 
memory usage and
 other suggested `JAVA_OPTS`.
 
 
@@ -107,7 +107,7 @@ from earlier ones, if exactly the same property is 
specified multiple times).
 1. Shell environment variables
 1. System properties, supplied with ``-D`` on the brooklyn (Java) command-line.
 
-These properties are described in more detail [here](brooklyn_cfg.html).
+These properties are described in more detail 
[here](configuration/brooklyn_cfg.md).
 
 
 ### Extending the Classpath

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/ops/starting-stopping-monitoring.md
----------------------------------------------------------------------
diff --git a/guide/ops/starting-stopping-monitoring.md 
b/guide/ops/starting-stopping-monitoring.md
index 61356d6..c721a0e 100644
--- a/guide/ops/starting-stopping-monitoring.md
+++ b/guide/ops/starting-stopping-monitoring.md
@@ -6,7 +6,7 @@ layout: website-normal
 
 **NOTE:** This document is for information on starting an Apache Brooklyn
 Server.  For information on using the Brooklyn Client CLI to access an already
-running Brooklyn Server, refer to [Client CLI Reference](cli/index.html).
+running Brooklyn Server, refer to [Client CLI Reference](cli/index.md).
 
 ## Packages for RHEL/CentOS and Ubuntu
 
@@ -32,9 +32,9 @@ To launch Brooklyn, from the directory where Brooklyn is 
unpacked, run:
 
 With no configuration, this will launch the Brooklyn web console and REST API 
on [`http://localhost:8081/`](http://localhost:8081/),
 listening on all network interfaces. No credentials are required by default. 
It is strongly
-recommended to [configure security](configuration/).
+recommended to [configure security](configuration/index.md).
 
-See the [Server CLI Reference](server-cli-reference.html) for more information
+See the [Server CLI Reference](server-cli-reference.md) for more information
 about the Brooklyn server process.
 
 
@@ -46,7 +46,7 @@ For example:
 
 ```bash
 % bin/stop
-{% endhighlight bash %}
+```
 
 
 ## Monitoring
@@ -74,5 +74,5 @@ check process apachebrooklyn with pidfile 
/opt/apache-brooklyn/pid_java
 
 In addition to monitoring the Brooklyn process itself, you will almost 
certainly
 want to monitor resource usage of Brooklyn. In particular, please see the
-[Requirements](requirements.html#disk-space) section for a discussion on 
Brooklyn's disk
+[Requirements](requirements.md#disk-space) section for a discussion on 
Brooklyn's disk
 space requirements.

http://git-wip-us.apache.org/repos/asf/brooklyn-docs/blob/adb398f3/guide/ops/troubleshooting/_connectivity.md
----------------------------------------------------------------------
diff --git a/guide/ops/troubleshooting/_connectivity.md 
b/guide/ops/troubleshooting/_connectivity.md
deleted file mode 100644
index 4094e09..0000000
--- a/guide/ops/troubleshooting/_connectivity.md
+++ /dev/null
@@ -1,152 +0,0 @@
-
-A common problem when setting up an application in the cloud is getting the 
basic connectivity right - how
-do I get my service (e.g. a TCP host:port) publicly accessible over the 
internet?
-
-This varies a lot - e.g. Is the VM public or in a private network? Is the 
service only accessible through
-a load balancer? Should the service be globally reachable or only to a 
particular CIDR?
-
-This guide gives some general tips for debugging connectivity issues, which 
are applicable to a 
-range of different service types. Choose those that are appropriate for your 
use-case.
-
-## VM reachable
-If the VM is supposed to be accessible directly (e.g. from the public 
internet, or if in a private network
-then from a jump host)...
-
-### ping
-Can you `ping` the VM from the machine you are trying to reach it from?
-
-However, ping is over ICMP. If the VM is unreachable, it could be that the 
firewall forbids ICMP but still
-lets TCP traffic through.
-
-### telnet to TCP port
-You can check if a given TCP port is reachable and listening using `telnet 
<host> <port>`, such as
-`telnet www.google.com 80`, which gives output like:
-
-~~~
-    Trying 31.55.163.219...
-    Connected to www.google.com.
-    Escape character is '^]'.
-~~~
-
-If this is very slow to respond, it can be caused by a firewall blocking 
access. If it is fast, it could
-be that the server is just not listening on that port.
-
-### DNS and routing
-If using a hostname rather than IP, then is it resolving to a sensible IP?
-
-Is the route to the server sensible? (e.g. one can hit problems with proxy 
servers in a corporate
-network, or ISPs returning a default result for unknown hosts).
-
-The following commands can be useful:
-
-* `host` is a DNS lookup utility. e.g. `host www.google.com`.
-* `dig` stands for "domain information groper". e.g. `dig www.google.com`.
-* `traceroute` prints the route that packets take to a network host. e.g. 
`traceroute www.google.com`.
-
-## Proxy settings
-Depending on the type of location, brooklyn might use HTTP to provision 
machines (clocker, jclouds). If the host environment defines proxy settings, 
these might interfere with the reachability of the respective HTTP service.
-
-One such case is using VirtualBox with host-only or private internal network 
settings, while using an external proxy for accessing the internet. It is clear 
that the external proxy won't be able to route HTTP calls properly, but that 
might not be clear when reading the logs (although brooklyn will present the 
failing URL).
-
-Try accessing the web-service URLs from a browser via the proxy, or perhaps 
try running brooklyn with proxy disabled:
-
-~~~
-    export http_proxy=
-    bin/brooklyn launch
-~~~
-
-If a system-level proxy server has been configured, you can instruct brooklyn 
to use the proxy server by passing `-Djava.net.useSystemProxies=true` to the JVM
-
-## Service is listening
-
-### Service responds
-Try connecting to the service from the VM itself. For example, `curl 
http://localhost:8080` for a
-web-service.
-
-On dev/test VMs, don't be afraid to install the utilities you need such as 
`curl`, `telnet`, `nc`,
-etc. Cloud VMs often have a very cut-down set of packages installed. For 
example, execute
-`sudo apt-get update; sudo apt-get install -y curl` or `sudo yum install -y 
curl`.
-
-### Listening on port
-Check that the service is listening on the port, and on the correct NIC(s).
-
-Execute `netstat -antp` (or on OS X `netstat -antp TCP`) to list the TCP ports 
in use (or use
-`-anup` for UDP). You should expect to see the something like the output below 
for a service.
-
-~~~
-Proto Recv-Q Send-Q Local Address               Foreign Address             
State       PID/Program name   
-tcp        0      0 :::8080                     :::*                        
LISTEN      8276/java           
-~~~
-
-In this case a Java process with pid 8276 is listening on port 8080. The local 
address `:::8080`
-format means all NICs (in IPv6 address format). You may also see 
`0.0.0.0:8080` for IPv4 format.
-If it says 127.0.0.1:8080 then your service will most likely not be reachable 
externally.
-
-Use `ip addr show` (or the obsolete `ifconfig -a`) to see the network 
interfaces on your server.
-
-For `netstat`, run with `sudo` to see the pid for all listed ports.
-
-## Firewalls
-On Linux, check if `iptables` is preventing the remote connection. On Windows, 
check the Windows Firewall.
-
-If it is acceptable (e.g. it is not a server in production), try turning off 
the firewall temporarily,
-and testing connectivity again. Remember to re-enable it afterwards! On 
CentOS, this is `sudo service
-iptables stop`. On Ubuntu, use `sudo ufw disable`. On Windows, press the 
Windows key and type 'Windows
-Firewall with Advanced Security' to open the firewall tools, then click 
'Windows Firewall Properties'
-and set the firewall state to 'Off' in the Domain, Public and Private profiles.
-
-If you cannot temporarily turn off the firewall, then look carefully at the 
firewall settings. For
-example, execute `sudo iptables -n --list` and `iptables -t nat -n --list`.
-
-## Cloud firewalls
-Some clouds offer a firewall service, where ports need to be explicitly listed 
to be reachable.
-
-For example, [security groups for EC2-classic]
-(http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html#ec2-classic-security-groups)
-have rules for the protocols and ports to be reachable from specific CIDRs.
-
-Check these settings via the cloud provider's web-console (or API).
-
-## Quick test of a listener port
-It can be useful to start listening on a given port, and to then check if that 
port is reachable.
-This is useful for testing basic connectivity when your service is not yet 
running, or to a
-different port to compare behaviour, or to compare with another VM in the 
network.
-
-The `nc` netcat tool is useful for this. For example, `nc -l 0.0.0.0 8080` 
will listen on port
-TCP 8080 on all network interfaces. On another server, you can then run `echo 
hello from client
-| nc <hostname> 8080`. If all works well, this will send "hello from client" 
over the TCP port 8080,
-which will be written out by the `nc -l` process before exiting.
-
-Similarly for UDP, you use `-lU`.
-
-You may first have to install `nc`, e.g. with `sudo yum install -y nc` or 
`sudo apt-get install netcat`.
-
-### Cloud load balancers
-For some use-cases, it is good practice to use the load balancer service 
offered by the cloud provider
-(e.g. [ELB in AWS](http://aws.amazon.com/elasticloadbalancing/) or the 
[Cloudstack Load Balancer]
-(http://docs.cloudstack.apache.org/projects/cloudstack-installation/en/latest/network_setup.html#management-server-load-balancing))
-
-The VMs can all be isolated within a private network, with access only through 
the load balancer service.
-
-Debugging techniques here include ensuring connectivity from another jump 
server within the private
-network, and careful checking of the load-balancer configuration from the 
Cloud Provider's web-console.
-
-### DNAT
-Use of DNAT is appropriate for some use-cases, where a particular port on a 
particular VM is to be
-made available.
-
-Debugging connectivity issues here is similar to the steps for a cloud load 
balancer. Ensure
-connectivity from another jump server within the private network. Carefully 
check the NAT rules from
-the Cloud Provider's web-console.
-
-### Guest wifi
-It is common for guest wifi to restrict access to only specific ports (e.g. 80 
and 443, restricting
-ssh over port 22 etc).
-
-Normally your best bet is then to abandon the guest wifi (e.g. to tether to a 
mobile phone instead).
-
-There are some unconventional workarounds such as [configuring sshd to listen 
on port 80 so you can
-use an ssh 
tunnel](http://askubuntu.com/questions/107173/is-it-possible-to-ssh-through-port-80).
-However, the firewall may well inspect traffic so sending non-http traffic 
over port 80 may still fail.
-
-  

Reply via email to