summaryrefslogtreecommitdiff
path: root/netconf-service/README.md
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2014-05-07 02:45:15 +0000
committerAdam Ierymenko <adam.ierymenko@gmail.com>2014-05-07 02:45:15 +0000
commitd5f95b721de4eda1173fa91b91bb26a03202b46a (patch)
treec2ff2840d15a55691cbab52dd0a95e2f60e1bcf0 /netconf-service/README.md
parentae2eeff5c6bf759eec17a4608318dd499e222b38 (diff)
downloadinfinitytier-d5f95b721de4eda1173fa91b91bb26a03202b46a.tar.gz
infinitytier-d5f95b721de4eda1173fa91b91bb26a03202b46a.zip
Yet more work on netconf master, add redis docs.
Diffstat (limited to 'netconf-service/README.md')
-rw-r--r--netconf-service/README.md33
1 files changed, 33 insertions, 0 deletions
diff --git a/netconf-service/README.md b/netconf-service/README.md
new file mode 100644
index 00000000..8f4abfa2
--- /dev/null
+++ b/netconf-service/README.md
@@ -0,0 +1,33 @@
+# ZeroTier One Network Configuration Service Helper
+
+This code will at the moment probably not be of much interest to end users.
+It's a "service," which is a sub-process that ZeroTier One can execute that
+provides additional functionaly not found in the core executable.
+
+ZeroTier One communicates with services by sending and receiving string-serialized
+Dictionary objects terminated by an empty line for each Dictionary.
+
+The netconf service, written in node.js and making use of the zerotier-idtool
+binary (see index.js) handles responding to virtual network config requests.
+It only runs on netconf masters. It fetches its configuration information from
+a Redis database.
+
+The schama for that database is in redis-schema.txt. Some record types such
+as users will not be of interest to outside people. Pay attention to the
+network record type.
+
+To install, copy the netconf-service folder to /var/lib/zerotier-one/services.d
+(create services.d first). Then run "npm install" from the netconf-service
+folder there and finally copy netconf.service to the parent services.d folder.
+Make sure that shell script is executable. This is what the ZeroTier One
+service will execute. It in turn sets up the node environment and runs index.js.
+
+The utility zerotier-idtool must be present as /usr/local/bin/zerotier-idtool. This
+is hard coded for the moment. To get it build ZeroTier One from source and then
+"sudo cp zerotier-one /usr/local/bin/zerotier-idtool" (the binary determines its
+personality from argv[0] on execution).
+
+Note: Windows builds of ZeroTier One do not support services. This code has only
+been tested on Linux but will probably work on Mac too.
+
+*Adam Ierymenko @ ZeroTier*