found
, this is useful for diferentiating between a value that is not found and a value that is explicitly set to null. linkdig
output handler for returning subsets of returned data linklookup_key
flag to the HTTP datasource linkFeature: API now supports optional data encoding type of messagepack. The default behaviour is still JSON as with previous versions, but now if you specify a content type of application/x-msgpack
(and encode your payload with msgpack) then Jerakia will return responses in msgpack instead of JSON. This has some small performance gains but also solves an issue with JSON encoding integer hash keys as strings (https://github.com/crayfishx/jerakia/issues/95). This is currently an opt-in change, however we aim to make msgpack the default serialization format for Jerakia 3. Thanks to @hhenkel for the contribution (https://github.com/crayfishx/jerakia/pull/96)
Enhancement: Better error reporting and softer handling of situations where there is no logfile. Jerakia will no longer cause an exception to be thrown if the logfile cannot be opened, instead it will direct logs to STDOUT
with a warning to the user, and continue executing. The previous behaviour was frustrating, especially when using the rubygem installation method that doesn’t set up all the scaffolding for you. Other errors such as failure to open the database files are also better reported and more understandable. Any Jerakia::Error
thrown on the CLI is now captured and reported back in an easier to understand way
--bind
, --port
and --token_ttl
options to jerakia server
to override these values from the CLIconfig
CLI option to display current runtime configurationplugindir
default of /var/lib/jerakia/plugins
addedJerakia::PolicyError
exceptionstop
with a confine
or exclude
statement in a lookup, that the lookup never actually gets invoked (https://github.com/crayfishx/jerakia/pull/86)The main additions for 2.0 are the introduction of encryption as a first class citizen and integration with the transit secret backend for vault to provide encryption. We’ve also changed the API for datasources to make them easier to write.
2.0 removes some features, particularly around Puppet integration that are now available as a third party plugin rather than shipped in Jerakia core.
:encryption
now uses whichever encryption provider has been configuredjerakia-puppet
rubygem.crayfishx/jerakia
Puppet module