Permalink
Browse files

Merge tag '2.5.0' into stable

2.5.0
  • Loading branch information...
crayfishx committed Jan 30, 2018
2 parents 87ef460 + 868beda commit 1313ee2d808a7276914a2ebd7e1600b4cf631064
@@ -3,6 +3,10 @@ targets:
build_dependencies:
- ruby-dev
- libsqlite3-dev
ubuntu-14.04:
build_dependencies:
- ruby-dev
- libsqlite3-dev
debian-8:
build_dependencies:
@@ -12,6 +16,19 @@ targets:
centos-7:
build_dependencies:
- ruby-devel
centos-6:
build_dependencies:
- ruby-devel
sles-12:
build_dependencies:
- ruby-devel
sles-11:
build_dependencies:
- ruby-devel
before:
- mv ext/pkgr/Gemfile.lock .
@@ -1,5 +1,15 @@
# Jerakia Release Notes
## 2.5.0
* Now available for more platforms on [pkgr](https://packager.io/gh/crayfishx/jerakia) including RHEL6
* Feature: Added consul datasource [link](https://github.com/crayfishx/jerakia/pull/106)
* Feature: API now returns an additional field of `found`, this is useful for diferentiating between a value that is not found and a value that is explicitly set to null. [link](https://github.com/crayfishx/jerakia/pull/107)
* Feature: Added `dig` output handler for returning subsets of returned data [link](https://github.com/crayfishx/jerakia/pull/112)
* Feature: Added `lookup_key` flag to the HTTP datasource [link](https://github.com/crayfishx/jerakia/pull/113)
* Bugfix: Datasource arguments were not processing defaults correctly, this is now fixed [link](https://github.com/crayfishx/jerakia/pull/108)
* Bugfix: Docker image build failing with missing gem dependency, fixed. [link](https://github.com/crayfishx/jerakia/pull/110)
## 2.4.0
* Feature: 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)
@@ -11,10 +11,12 @@ gem 'thor'
gem "deep_merge"
gem "thin"
gem "sinatra"
gem "bigdecimal"
gem "dm-sqlite-adapter"
gem "rake"
gem "rack", "~> 1.6.5"
gem "msgpack"
gem "diplomat", "~> 2.0"
group(:development, :test) do
gem 'rspec-core'
@@ -15,7 +15,9 @@ A pluggable and extendable hierarchical data lookup system
## Introduction ##
Jerakia is a pluggable hierarchical data lookup engine. It is not a database, Jerakia gives a single point of access to your data via a variety of back end data sources and provides a hierarchical way to search key value data. Jerakia is inspired by Hiera, and can be used along side or instead of Hiera in Puppet implementations. Jerakia can also integrate with other tools, such as Ansible and more.
Jerakia is a tool that performs key value lookups against a variety of pluggable data stores. It does this using a top-down hierarchical set of queries that allow you to define global values and override them at different levels of a configurable hierarchy. This has many use cases, including infrastructure management where you often have configuration values defined at a global level but wish to override these values based on certain factors such as the environment or location of the request.
Key value pairs of data are looked up using a top-down search path allowing you to override values in a hierarchical way. Jerakia recieves a key to lookup a long with information about the requestor, using that information it traverses down a preconfigured hierarchy of queries until it finds the most relevant answer to return
The main goals and features of Jerakia are:
@@ -35,6 +37,8 @@ Features include:
Documentation is kept on the [Official Website](http://jerakia.io)
Get help and support on [the Jerakia users mailing list](https://groups.google.com/a/enviatics.com/d/forum/jerakia-users)
## Other documentation ##
* [Blog post: Understanding Hierarchichal Data Lookups](https://www.craigdunn.org/2017/08/understanding-hierarchical-data-lookups/)
* [Blog post part 1: Solving real world problems with Jerakia](http://www.craigdunn.org/2015/09/solving-real-world-problems-with-jerakia/)
@@ -0,0 +1,62 @@
#!/bin/bash
. /etc/init.d/functions
RETVAL=0
prog="jerakia"
LOCKFILE=/var/lock/subsys/$prog
PIDFILE=/var/run/${prog}.pid
start() {
echo -n "Starting $prog: "
nohup jerakia server 2>&1 > /dev/null &
RETVAL=$?
PID=$!
echo $PID > $PIDFILE
[ $RETVAL -eq 0 ] && touch $LOCKFILE && success || failure
echo
return $RETVAL
}
stop() {
echo -n "Shutting down $prog: "
killproc -p /var/run/jerakia.pid jerakia && success || failure
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f $LOCKFILE $PIDFILE
echo
return $RETVAL
}
status() {
echo -n "Checking $prog status: "
if [ -f $PIDFILE ]; then
PID=`cat $PIDFILE`
if [ -z "`ps axf | grep ${PID} | grep 'jerakia server'`" ]; then
printf "%s\n" "PID file exists but process dead" && failure
else
echo "Running" && success
fi
else
echo "Not running" && failure
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status
;;
restart)
stop
start
;;
*)
echo "Usage: $prog {start|stop|status|restart}"
exit 1
;;
esac
exit $RETVAL
Oops, something went wrong.

0 comments on commit 1313ee2

Please sign in to comment.