CLI and Ruby client library for Jerakia Server
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



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


Command line

  jerakia-client lookup [KEY]

  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
  token: 'test:bcb4ed451b890d62b7784058ecf75e225c490eef62073a3089f1cbd9db50f9034630b33c7ca06b80'
  host: 'localhost'
  port: 9992
  api: 'v1'
  proto: 'http'
  content_type: 'msgpack'

Ruby bindings

Initiate a new client instance.

client =

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 or https 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 a jerakia.yaml file in /etc/jerakia and ~/.jerakia for a key called client_token

Instance methods

Once initiated the client can be used with the following instance methods

lookup(key, params)
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