seneca-consul-registry
Seneca key-value registry for Consul
This plugin module provides a simple access to key/vaue store of Consul. This module is a Seneca plugin. For a gentle introduction to Seneca itself, see the senecajs.org site.
Support
Current Version: 0.1.0
Tested on: Node 0.10.36, Seneca 0.6.1
Quick Example
Get and set a key:
start
Usage
Keys are strings of the form: a/b/c where each / defines a branch of a tree. In simple cases, you can treat keys as simple identifiers and ignore this tree structure. In more complex cases you can use the tree structure as a namespace mechanism. In particular, you can remove and list keys recursively.
start
Consul
Running Consul
The easiest way to run consul is by running it as docker container.
$ docker run -p 8400:8400 -p 8500:8500 -p 8600:53/udp -h node1 progrium/consul -server -bootstrap
Please take a look at docker-consul for details.
Consul Configuration parameters
You can specify connection parameters to Consul by passing them as options object when registering the plugin
start
The exact parameters ( and their types) are the same as defined by node-consul init parameters
Action Patterns
role:registry, cmd:set
Set the value of a key.
Parameters:
- key: string; key name
- value: any; key value; serialized to JSON
Response: none.
role:registry, cmd:get
Get the value of a key.
Parameters:
- key: string; key name
Response:
- value: any; key value; deserialized from JSON
role:registry, cmd:list
List the sub keys of a key, under the tree structure, with / as branch separator.
Parameters:
- key: string; key name or partial prefix name of key to query
- recurse: boolean, optional, default: false; if true, list all sub keys, if false, list only child keys
Response:
- keys: array[string]; keys in breadth first order
role:registry, cmd:remove
Remove the value of a key, and optionally all sub keys.
Parameters:
- key: string; key name or partial prefix name of key to remove
- recurse: boolean, optional, default: false; if true, remove value and all sub keys, if false, remove only value
Response: none