Jerakia Release Notes 1.2

Summary

1.2 is a large feature release aimed at introducing features that lay the the groundwork for integrating Jerakia with other tools.

Features

PuppetDB scope handler

Jerakia 1.2.0 ships with a PuppetDB scope handler, this enables you to perform a lookup and source all of the scope data (facts..etc) directly from PuppetDB without having to compile YAML files with the data. This is especially useful for performing lookups from the command line to determine the resolved value for a particular host without knowing the scope data, eg:

# jerakia lookup port -n apache --scope puppetdb --scope-opts node:agent1.localdomain

The PuppetDB scope handler is also useful when integrating other tools with Jerakia Server where they do not have access to the scope data.

See PuppetDB Scope Handler for more information

Jerakia Server

1.2.0 introduces Jerakia Server which exposes the functionality of Jerakia over token authenticated REST API to other tools. This opens up many possibilities, not only for integration with a wider variety of tools but also the ability to run Jerakia on a separate server and control access via tokens.

The current ruby based integration points between Puppet and Jerakia continue to be supported, and other methods are available using the REST API - See integrating with puppet for detailed information on Puppet integration.

Access to the API is controlled by tokens which can be generated, disabled and revoked using the new Token subsystem

See Jerakia server documentation for detailed information on Jerakia Server

All-in-one packaging

Jerakia continues to be available as a rubygem, but it is also now possible to install Jerakia as an all-in-one system package (currently Debian 8, Ubumtu 16.04 and RedHat/CentOS 7 are supported, support for other operating systems will follow). The AIO package comes with ruby and all the gem dependencies statically bundled. This is the recommended installation path for users integrating with Jerakia Server, however to use the native ruby bindings to Puppet please see integrating with puppet.

Upgrading from 1.1

Users of 1.1 should be able to upgrade seamlessly to 1.2 via a gem upgrade (note there are several new gem dependencies that will be installed and you may need some extra devel dependencies such as sqlite-devel and ruby-devel). If you wish to use the AIO package then it is advised to completely remove the 1.1 gem version first (especially if it is installed in system ruby) to avoid conflicts with the jerakia CLI command.

Extra tools

Along with the Jerakia 1.2 core release, the following extra libraries are also now available

  • jerakia-client Ruby libraries and a CLI for sending quieries to Jerakia Server (bundled with Jerakia Core)
  • jerakia-puppet libraries for integrating Puppet with Jerakia Server over REST