consul-cli-js
A node.js wrapper for the consul command line tool
Installation
Step 1: Prerequisites
The consul binary must be installed and accessible in the path e.g. Installing Consul
Step 2: Installation
npm install consul-cli-js
Then:
var consulCli = ;var Options = consulCliOptions;var Consul = consulCliConsul;
Usage
With promise
var options = /* httpAddr */ '0.0.0.0:8500' /* currentWorkingDirectory */ null; var consul = options; consul; //data = { command: 'consul members -rpc-addr 52.91.162.186:8400 ',// raw: 'Node Address Status Type Build Protocol DC\\nconsul1 10.0.0.90:8301 alive server 0.5.2 2// dc1\\nconsul2 10.0.0.99:8301 alive server 0.5.2 2 dc1\\nconsul3 10.0.0.213:8301 alive server 0.5.2 2//dc1\\n',//members://[ { node: 'consul1',// address: '10.0.0.90:8301',// status: 'alive',// type: 'server',// build: '0.5.2',// protocol: '2',// dc: 'dc1' },// { node: 'consul2',// address: '10.0.0.99:8301',// status: 'alive',// type: 'server',// build: '0.5.2',// protocol: '2',// dc: 'dc1' },// { node: 'consul3',// address: '10.0.0.213:8301',// status: 'alive',// type: 'server',// build: '0.5.2',// protocol: '2',// dc: 'dc1' } ],// allMembersAlive: true }
With callback:
consul;
Typescript
; const options = /* httpAddr */ '0.0.0.0:8500' /* currentWorkingDirectory */ null; const consul = options; return consul;
- join
consul; //data = {// command: 'consul join -rpc-addr 52.91.162.186:8400 54.86.97.135',// raw: 'Successfully joined cluster by contacting 1 nodes.\\n',// line: 'Successfully joined cluster by contacting 1 nodes.',// success: true//}
- info
consul; //data = {// command: 'consul info -rpc-addr 54.165.211.120:8400 ',// raw: 'WARNING: It is highly recommended to set GOMAXPROCS higher than 1\\n\\nagent:\\n\\tcheck_monitors = 0\\n\\tcheck_ttls = 0\\n\\tchecks = 0\\n\\tservices = 1\\nbuild:\\n\\tprerelease = \\n\\trevision = 9a9cc934\\n\\tversion = 0.5.2\\nconsul:\\n\\tbootstrap = true\\n\\tknown_datacenters = 1\\n\\tleader = true\\n\\tserver = true\\nraft:\\n\\tapplied_index = 192\\n\\tcommit_index = 192\\n\\tfsm_pending = 0\\n\\tlast_contact = never\\n\\tlast_log_index = 192\\n\\tlast_log_term = 1\\n\\tlast_snapshot_index = 0\\n\\tlast_snapshot_term = 0\\n\\tnum_peers = 0\\n\\tstate = Leader\\n\\tterm = 1\\nruntime:\\n\\tarch = amd64\\n\\tcpu_count = 1\\n\\tgoroutines = 54\\n\\tmax_procs = 1\\n\\tos = linux\\n\\tversion = go1.4.2\\nserf_lan:\\n\\tencrypted = false\\n\\tevent_queue = 1\\n\\tevent_time = 2\\n\\tfailed = 0\\n\\tintent_queue = 0\\n\\tleft = 0\\n\\tmember_time = 1\\n\\tmembers = 1\\n\\tquery_queue = 0\\n\\tquery_time = 1\\nserf_wan:\\n\\tencrypted = false\\n\\tevent_queue = 0\\n\\tevent_time = 1\\n\\tfailed = 0\\n\\tintent_queue = 0\\n\\tleft = 0\\n\\tmember_time = 1\\n\\tmembers = 1\\n\\tquery_queue = 0\\n\\tquery_time = 1\\n',// lines:// ['WARNING: It is highly recommended to set GOMAXPROCS higher than 1',// '',// 'agent:',// '\tcheck_monitors = 0',// '\tcheck_ttls = 0',// '\tchecks = 0',// '\tservices = 1',// 'build:',// '\tprerelease = ',// '\trevision = 9a9cc934',// '\tversion = 0.5.2',// 'consul:',// '\tbootstrap = true',// '\tknown_datacenters = 1',// '\tleader = true',// '\tserver = true',// 'raft:',// '\tapplied_index = 192',// '\tcommit_index = 192',// '\tfsm_pending = 0',// '\tlast_contact = never',// '\tlast_log_index = 192',// '\tlast_log_term = 1',// '\tlast_snapshot_index = 0',// '\tlast_snapshot_term = 0',// '\tnum_peers = 0',// '\tstate = Leader',// '\tterm = 1',// 'runtime:',// '\tarch = amd64',// '\tcpu_count = 1',// '\tgoroutines = 54',// '\tmax_procs = 1',// '\tos = linux',// '\tversion = go1.4.2',// 'serf_lan:',// '\tencrypted = false',// '\tevent_queue = 1',// '\tevent_time = 2',// '\tfailed = 0',// '\tintent_queue = 0',// '\tleft = 0',// '\tmember_time = 1',// '\tmembers = 1',// '\tquery_queue = 0',// '\tquery_time = 1',// 'serf_wan:',// '\tencrypted = false',// '\tevent_queue = 0',// '\tevent_time = 1',// '\tfailed = 0',// '\tintent_queue = 0',// '\tleft = 0',// '\tmember_time = 1',// '\tmembers = 1',// '\tquery_queue = 0',// '\tquery_time = 1',// ''],// info:// {// agent: { check_monitors: 0, check_ttls: 0, checks: 0, services: 1 },// build: { prerelease: '', revision: '9a9cc934', version: '0.5.2' },// consul:// {// bootstrap: true,// known_datacenters: 1,// leader: true,// server: true// },// raft:// {// applied_index: 192,// commit_index: 192,// fsm_pending: 0,// last_contact: 'never',// last_log_index: 192,// last_log_term: 1,// last_snapshot_index: 0,// last_snapshot_term: 0,// num_peers: 0,// state: 'Leader',// term: 1// },// runtime:// {// arch: 'amd64',// cpu_count: 1,// goroutines: 54,// max_procs: 1,// os: 'linux',// version: 'go1.4.2'// },// serf_lan:// {// encrypted: false,// event_queue: 1,// event_time: 2,// failed: 0,// intent_queue: 0,// left: 0,// member_time: 1,// members: 1,// query_queue: 0,// query_time: 1// },// serf_wan:// {// encrypted: false,// event_queue: 0,// event_time: 1,// failed: 0,// intent_queue: 0,// left: 0,// member_time: 1,// members: 1,// query_queue: 0,// query_time: 1// }// }//}
License
MIT