0.0.1 • Published 10 years ago
etcd2json v0.0.1
etcd2json
turn etcd configs to json
Rules
- A
Dictionaryis anObjectorArray. - A
Propertyis akey-value pair, orArray Element. - If the name of
DictionaryorPropertyis a number, then the parent node will be casted into anArray - String
trueandfalsewill be turned into Boolean - If number and letter key name exists in the same level, the final result will be decided by the last element.
- Empty
PropertyandDictionarywill be turned into''and{}
Usage
var etcd2json = require('etcd2json');
var etcdHosts = process.env.ETCD_HOST.split(',') || ['127.0.0.1:2379'];
var etcdClient = new Etcd(etcdHosts);
var defaultResult = etcd2json.retrieve(etcdClient, '/v1/production/default');
var appResult = etcd2json.retrieveMulti(etcdClient, ['/v1/production/default', '/v1/production/app1']);There are two functions, retrieve and retrieveMulti.
You can pass an array to retrieveMulti function. The latter value will overwrite the previous value, if they have the same key.
Examples
Etcd Configs
JSON Result
{
"mongoUrl": "127.0.0.1:12345",
"rabbitmqUrl": "localhost",
"isDeploy": true,
"special": "",
"redis": [
{
host: "127.0.0.1",
port: "3306"
},
{
host: "127.0.0.2",
port: "3306"
}
],
"elasticSearch": [
"127.0.0.1:9200",
"127.0.0.2:9200",
"127.0.0.3:9200"
]
}0.0.1
10 years ago