A ruby client library and CLI for integrating with Jerakia Server (Jerakia 1.2.0+)
For more details on Jerakia Server please see The official Jerakia site
This client is for use with Jerakia Server, which ships in 1.2.0, it does not integrate with Jerakia 1.1 or below
Usage:
jerakia-client lookup [KEY]
Options:
H, [--host=HOST] # Hostname or IP to connect to
P, [--port=PORT] # Port to connect to
T, [--token=TOKEN] # Token to use for authorization, if not provided a jerakia.yaml will be searched for (see docs)
a, [--api=API] # API Version to implement (see docs)
p, [--policy=POLICY] # Lookup policy
# Default: default
n, [--namespace=NAMESPACE] # Lookup namespace
t, [--type=TYPE] # Lookup type
# Default: first
s, [--scope=SCOPE] # Scope handler
# Default: metadata
[--scope-options=key:value] # Key/value pairs to be passed to the scope handler
m, [--merge-type=MERGE_TYPE] # Merge type
# Default: array
v, [--verbose], [--no-verbose] # Print verbose information
D, [--debug], [--no-debug] # Debug information to console, implies --log-level debug
o, [--output=OUTPUT] # Output format, yaml, json or msgpack
# Default: json
c, [--content_type=TYPE] # Content type, json or msgpack
# Default: json
Lookup [KEY] with Jerakia
It is possible to set some of the global settings in the jerakia.yaml
config file:
$ cat ~/.jerakia/jerakia.yaml
---
client:
token: 'test:bcb4ed451b890d62b7784058ecf75e225c490eef62073a3089f1cbd9db50f9034630b33c7ca06b80'
host: 'localhost'
port: 9992
api: 'v1'
proto: 'http'
content_type: 'msgpack'
Initiate a new client instance.
client = Jerakia::Client.new(opts)
Options can be given as a hash of:
host
: Hostname or IP to connect to (default localhost)port
: Port to connect to (default 9843)api
: The Jerakia Server API version impemented on the server (default v1)proto
: The protocol to use,http
orhttps
are supported,http
is the default.token
: The authentication token to use in the request, if no token is specified jerakia-client will look for ajerakia.yaml
file in/etc/jerakia
and~/.jerakia
for a key calledclient_token
Once initiated the client can be used with the following instance methods
client.lookup("port", { :namespace => 'apache' })
params
is a hash of all of the options specified in the Jerakia Server API for the /v1/lookup
endpoint
This software is licensed under the Apache 2.0 license, please see the LICENSE
file for full details
Written and maintained by Craig Dunn craig@craigdunn.org