summaryrefslogtreecommitdiff
path: root/docs/platform/guide.md
diff options
context:
space:
mode:
authorelijah <elijah@riseup.net>2013-12-05 17:33:22 -0800
committerelijah <elijah@riseup.net>2013-12-05 17:33:22 -0800
commit180448322a94156385a6ddc1d6eaee5c84830496 (patch)
tree861dc2aeb9bfba5b26c7f9552952b322b359ccca /docs/platform/guide.md
parent3d75d60d0bc34f2b6e0b59c743a7c38da4268bf9 (diff)
updated platform docs: added info on webapp admins, disabling nodes, and installing leap_cli from gem.
Diffstat (limited to 'docs/platform/guide.md')
-rw-r--r--docs/platform/guide.md42
1 files changed, 41 insertions, 1 deletions
diff --git a/docs/platform/guide.md b/docs/platform/guide.md
index 52c3b2f..99147a8 100644
--- a/docs/platform/guide.md
+++ b/docs/platform/guide.md
@@ -1,7 +1,7 @@
@title = "LEAP Platform Guide"
@nav_title = "Guide"
-Services
+Node types
================================
Every node has one or more services that determines the node's function within your provider's infrastructure.
@@ -24,6 +24,27 @@ Brief overview of the services:
* **tor**: Sets up a tor exit node, unconnected to any other service.
* **dns**: Not yet implemented.
+webapp
+-----------------------------------
+
+The webapp node is responsible for both the user face web application and the API that the client interacts with.
+
+Some users can be "admins" with special powers to answer tickets and close accounts. To make an account into an administrator, you need to configure the `webapp.admins` property with an array of user names.
+
+For example, to make users `alice` and `bob` into admins, create a file `services/webapp.json` with the following content:
+
+ {
+ "webapp": {
+ "admins": ["bob", "alice"]
+ }
+ }
+
+And then redeploy to all webapp nodes:
+
+ leap deploy webapp
+
+By putting this in `services/webapp.json`, you will ensure that all webapp nodes inherit the value for `webapp.admins`.
+
Locations
================================
@@ -264,3 +285,22 @@ There are a few cases when we must gather internal data from a node before we ca
Run `leap help facts update` for more information.
The file `facts.json` should be committed to source control. You might not have a `facts.json` if one is not required for your provider.
+
+Disabling Nodes
+=====================================
+
+There are two ways to temporarily disable a node:
+
+**Option 1: enabled == false**
+
+If a node has a property `enabled` set to false, then the `leap` command will skip over the node and pretend that it does not exist. For example:
+
+ {
+ "ip_address": "1.1.1.1",
+ "services": ["openvpn"],
+ "enabled": false
+ }
+
+**Options 2: no-deploy**
+
+If the file `/etc/leap/no-deploy` exists on a node, then when you run the commmand `leap deploy` it will halt and prevent a deploy from going through (if the node was going to be included in the deploy).