Closes #95
Instructions on setup.script
diff --git a/guide/ops/locations/_clouds.md b/guide/ops/locations/_clouds.md
index 5082776..9aee611 100644
--- a/guide/ops/locations/_clouds.md
+++ b/guide/ops/locations/_clouds.md
@@ -174,9 +174,36 @@
- Use `dontCreateUser` to have Brooklyn run as the initial `loginUser` (usually `root`),
without creating any other user.
-- A post-provisioning `setup.script` can be specified (as a URL) to run an additional script,
- before making the `Location` available to entities,
- optionally also using `setup.script.vars` (set as `key1:value1,key2:value2`)
+- A post-provisioning `setup.script` can be specified to run an additional script, before making the `Location`
+ available to entities. This may take the form of a URL of a script or a [data URI](https://en.wikipedia.org/wiki/Data_URI_scheme).
+ Note that if using a data URI it is usually a good idea to [base64](https://en.wikipedia.org/wiki/Base64) this string to escape problem characters
+ in more complex scripts. The base64 encoded script should then be prefixed with `data:text/plain;base64,` to denote this.
+ For example if you wanted to disable a yum repository called `reponame` prior to using the machine, you could use the following command:
+
+ `sudo yum-config-manager --disable reponame`
+
+ Base64 encoding can be done with a with a tool such as [this](https://www.base64encode.org/) or a linux command such as:
+
+ `echo "sudo yum-config-manager --disable reponame" | base64`
+
+ With the base64 prefix this would then look like this:
+
+ `setup.script: data:text/plain;base64,c3VkbyB5dW0tY29uZmlnLW1hbmFnZXIgLS1kaXNhYmxlIHJlcG9uYW1l`
+
+ The `setup.script` can also take [FreeMarker](http://freemarker.org/) variables in a `setup.script.vars`
+ property. Variables are set in the format `key1:value1,key2:value2` and used in the form `${key1}`. So for the above example:
+
+ `setup.script.vars: repository:reponame`
+
+ then
+
+ `setup.script: data:sudo yum-config-manager --disable ${repository}`
+
+ or encoded in base64:
+
+ `setup.script: data:text/plain;base64,c3VkbyB5dW0tY29uZmlnLW1hbmFnZXIgLS1kaXNhYmxlICR7cmVwb3NpdG9yeX0=`
+
+ This enables the name of the repository to be passed in to the script.
- Use `openIptables: true` to automatically configure `iptables`, to open the TCP ports required by
the software process. One can alternatively use `stopIptables: true` to entirely stop the