ports/188420: [NEW PORT] sysutils/mnrpes: MCollective and Rufus scheduler wrapper
Bartek Rutkowski
ports at robakdesign.com
Thu Apr 10 11:40:02 UTC 2014
>Number: 188420
>Category: ports
>Synopsis: [NEW PORT] sysutils/mnrpes: MCollective and Rufus scheduler wrapper
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Thu Apr 10 11:40:01 UTC 2014
>Closed-Date:
>Last-Modified:
>Originator: Bartek Rutkowski
>Release: FreeBSD 11.0-CURRENT amd64
>Organization:
Pixeware LTD
>Environment:
System: FreeBSD poudriere.ithil.palantiri.org 11.0-CURRENT FreeBSD 11.0-CURRENT #0 r264126: Fri Apr 4 21:33:01
>Description:
Mnrpes is a system that uses MCollective and the Rufus scheduler
to build a distributed async scheduler and checker for Nagios
based on the Passive mode.
WWW: https://github.com/nullDowntimeLtd/mnrpes
Generated with FreeBSD Port Tools 1.00.2014.03.23 (mode: new)
>How-To-Repeat:
>Fix:
--- mnrpes-2014033101.shar begins here ---
# This is a shell archive. Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file". Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
# mnrpes
# mnrpes/distinfo
# mnrpes/Makefile
# mnrpes/pkg-descr
# mnrpes/pkg-plist
# mnrpes/files
# mnrpes/files/mnrpes_receiver.in
# mnrpes/files/mnrpes_scheduler.in
#
echo c - mnrpes
mkdir -p mnrpes > /dev/null 2>&1
echo x - mnrpes/distinfo
sed 's/^X//' >mnrpes/distinfo << '0aca6b88bb4024b720f935c9efefb257'
XSHA256 (mnrpes-2014033101.tar.gz) = 7b4b3c88ca739d8bc19f12f58df9c309242f7e80736613bed28cfbc21acce632
XSIZE (mnrpes-2014033101.tar.gz) = 82215
0aca6b88bb4024b720f935c9efefb257
echo x - mnrpes/Makefile
sed 's/^X//' >mnrpes/Makefile << '2ba10394ca7a33a3d818ec62df20a978'
X# $FreeBSD$
X
XPORTNAME= mnrpes
XPORTVERSION= 2014033101
XCATEGORIES= sysutils
X
XMAINTAINER= ports at robakdesign.com
XCOMMENT= MCollective and Rufus scheduler wrapper
X
XLICENSE= APACHE20
X
XRUN_DEPENDS= mcollective>=2:${PORTSDIR}/sysutils/mcollective \
X rubygem-rufus-scheduler>=0.1:${PORTSDIR}/devel/rubygem-rufus-scheduler
X
XUSE_RUBY= yes
XUSE_GITHUB= yes
XGH_ACCOUNT= nullDowntimeLtd
XGH_TAGNAME= ${GH_COMMIT}
XGH_COMMIT= 0b67031
X
XUSE_RC_SUBR= mnrpes_receiver \
X mnrpes_scheduler
X
XRESETPREFIX= ${PREFIX}
X
XPLIST_SUB+= PORTNAME=${PORTNAME} \
X RESETPREFIX=${RESETPREFIX}
X
XNO_BUILD= yes
X
Xdo-install:
X ${MKDIR} ${STAGEDIR}${ETCDIR}
X ${MKDIR} ${STAGEDIR}${RUBY_SITELIBDIR}/${PORTNAME}
X ${MKDIR} ${STAGEDIR}${RUBY_SITELIBDIR}/${PORTNAME}/output
X ${INSTALL_SCRIPT} ${WRKSRC}/bin/mnrpes-receiver.rb ${STAGEDIR}${PREFIX}/bin/
X ${INSTALL_SCRIPT} ${WRKSRC}/bin/mnrpes-scheduler.rb ${STAGEDIR}${PREFIX}/bin/
X ${INSTALL_SCRIPT} ${WRKSRC}/lib/mnrpes.rb ${STAGEDIR}${RUBY_SITELIBDIR}/
X ${INSTALL_SCRIPT} ${WRKSRC}/lib/mnrpes/receiver.rb ${STAGEDIR}${RUBY_SITELIBDIR}/mnrpes/
X ${INSTALL_SCRIPT} ${WRKSRC}/lib/mnrpes/scheduler.rb ${STAGEDIR}${RUBY_SITELIBDIR}/mnrpes/
X ${INSTALL_SCRIPT} ${WRKSRC}/lib/mnrpes/output/flapjack.rb ${STAGEDIR}${RUBY_SITELIBDIR}/mnrpes/output/
X ${INSTALL_SCRIPT} ${WRKSRC}/lib/mnrpes/output/nagios.rb ${STAGEDIR}${RUBY_SITELIBDIR}/mnrpes/output/
X ${INSTALL_SCRIPT} ${WRKSRC}/lib/mnrpes/output/redis_status.rb ${STAGEDIR}${RUBY_SITELIBDIR}/mnrpes/output/
X ${INSTALL_SCRIPT} ${WRKSRC}/lib/mnrpes/output/stdout.rb ${STAGEDIR}${RUBY_SITELIBDIR}/mnrpes/output/
X ${INSTALL_DATA} ${WRKSRC}/etc/checks.txt.dist ${STAGEDIR}${ETCDIR}
X ${INSTALL_DATA} ${WRKSRC}/etc/mnrpes-receiver.cfg.dist ${STAGEDIR}${ETCDIR}
X ${INSTALL_DATA} ${WRKSRC}/etc/mnrpes-scheduler.cfg.dist ${STAGEDIR}${ETCDIR}
X
Xpost-install:
X ${MKDIR} ${STAGEDIR}/var/run/${PORTNAME}
X ${MKDIR} ${STAGEDIR}/var/log/${PORTNAME}
X
X.include <bsd.port.mk>
2ba10394ca7a33a3d818ec62df20a978
echo x - mnrpes/pkg-descr
sed 's/^X//' >mnrpes/pkg-descr << '2d1ac036fcec9b43a0f191905cd4928b'
XMnrpes is a system that uses MCollective and the Rufus scheduler
Xto build a distributed async scheduler and checker for Nagios
Xbased on the Passive mode.
X
XWWW: https://github.com/nullDowntimeLtd/mnrpes
2d1ac036fcec9b43a0f191905cd4928b
echo x - mnrpes/pkg-plist
sed 's/^X//' >mnrpes/pkg-plist << '8e9d1b782eda530979276fbe8312082d'
Xbin/mnrpes-receiver.rb
Xbin/mnrpes-scheduler.rb
X%%ETCDIR%%/checks.txt.dist
X%%ETCDIR%%/mnrpes-receiver.cfg.dist
X%%ETCDIR%%/mnrpes-scheduler.cfg.dist
X%%RUBY_SITELIBDIR%%/mnrpes.rb
X%%RUBY_SITELIBDIR%%/%%PORTNAME%%/receiver.rb
X%%RUBY_SITELIBDIR%%/%%PORTNAME%%/scheduler.rb
X%%RUBY_SITELIBDIR%%/%%PORTNAME%%/output/flapjack.rb
X%%RUBY_SITELIBDIR%%/%%PORTNAME%%/output/nagios.rb
X%%RUBY_SITELIBDIR%%/%%PORTNAME%%/output/redis_status.rb
X%%RUBY_SITELIBDIR%%/%%PORTNAME%%/output/stdout.rb
X at dirrmtry %%ETCDIR%%
X at dirrm %%RUBY_SITELIBDIR%%/%%PORTNAME%%/output
X at dirrm %%RUBY_SITELIBDIR%%/%%PORTNAME%%
X at cwd /
X at dirrmtry var/run/%%PORTNAME%%
X at dirrmtry var/log/%%PORTNAME%%
X at cwd %%RESETPREFIX%%
8e9d1b782eda530979276fbe8312082d
echo c - mnrpes/files
mkdir -p mnrpes/files > /dev/null 2>&1
echo x - mnrpes/files/mnrpes_receiver.in
sed 's/^X//' >mnrpes/files/mnrpes_receiver.in << 'bb58297c32ed40ba941dd89057613c65'
X#!/bin/sh
X
X# $FreeBSD: head/www/mnrpes_receiver/files/mnrpes_receiver.in 340872 2014-01-24 00:14:07Z mat $
X#
X# mnrpes_receiver startup script
X#
X# PROVIDE: mnrpes_receiver
X# REQUIRE: LOGIN
X# KEYWORD: shutdown
X#
X# Add the following to /etc/rc.conf[.local] to enable this service
X#
X# mnrpes_receiver_enable="YES"
X#
X# You can fine tune others variables too:
X# mnrpes_receiver_config=
X# Use mnrpes_receiver_user to run mnrpes_receiver as user
X
X# mnrpes_receiver rc.d script supports multiple profiles (a-la rc.d/nginx)
X# When profiles are specified, the non-profile specific parameters become defaults.
X#
X# Example:
X#
X# mnrpes_receiver_enable="YES"
X# mnrpes_receiver_profiles="myserver myotherserver"
X# mnrpes_receiver_config="/usr/local/etc/mnrpes/mnrpes-receiver.cfg"
X# mnrpes_receiver_myserver_user="myuser"
X# mnrpes_receiver_myotherserver_user="myotheruser"
X# mnrpes_receiver_myotherserver_config="/usr/local/etc/mnrpes/mnrpes-receiver-myotherserver.cfg"
X
X. /etc/rc.subr
X
Xname="mnrpes_receiver"
Xrcvar=mnrpes_receiver_enable
X
Xmnrpes_receiver_setfib() {
X if command -v check_namevarlist > /dev/null 2>&1; then
X check_namevarlist fib && return 0
X fi
X
X ${SYSCTL} net.fibs >/dev/null 2>&1 || return 0
X
X mnrpes_receiver_fib=${mnrpes_receiver_fib:-"NONE"}
X case "$mnrpes_receiver_fib" in
X [Nn][Oo][Nn][Ee])
X ;;
X *)
X command="setfib -F ${mnrpes_receiver_fib} ${command}"
X ;;
X esac
X}
X
Xmnrpes_receiver_precmd() {
X user="$1"
X piddir="$2"
X logdir="$3"
X mnrpes_receiver_setfib
X install -d -o $user -g wheel -m 1750 "${piddir}"
X install -d -o $user -g wheel -m 1750 "${logdir}"
X}
X
Xcommand_interpreter="ruby"
X
Xpiddir="/var/run/mnrpes/receiver"
Xpidname="receiver"
Xlogdir="/var/log/mnrpes/receiver"
X
Xload_rc_config $name
X
X# These are just the defaults, they might get overriden for a specific profile.
Xmnrpes_receiver_enable=${mnrpes_receiver_enable:-"NO"}
Xmnrpes_receiver_user=${mnrpes_receiver_user:-"nobody"}
Xmnrpes_receiver_config=${mnrpes_receiver_config:-"/usr/local/etc/mnrpes/mnrpes-receiver.cfg"}
X
X# This handles profile specific vars.
Xif [ -n "$2" ]; then
X profile="$2"
X if [ -n "${mnrpes_receiver_profiles}" ]; then
X piddir="${piddir}.${profile}"
X pidname="${pidname}.${profile}"
X logdir="${logdir}.${profile}"
X eval mnrpes_receiver_enable="\${mnrpes_receiver_${profile}_enable:-${mnrpes_receiver_enable}}"
X eval mnrpes_receiver_fib="\${mnrpes_receiver_${profile}_fib:-${mnrpes_receiver_fib}}"
X eval mnrpes_receiver_user="\${mnrpes_receiver_${profile}_user:-${mnrpes_receiver_user}}"
X eval mnrpes_receiver_config="\${mnrpes_receiver_${profile}_config:-${mnrpes_receiver_config}}"
X else
X echo "$0: extra argument ignored"
X fi
Xelse
X if [ -n "${mnrpes_receiver_profiles}" -a -n "$1" ]; then
X for profile in ${mnrpes_receiver_profiles}; do
X echo "===> mnrpes_receiver profile: ${profile}"
X /usr/local/etc/rc.d/mnrpes_receiver $1 ${profile}
X retcode="$?"
X if [ "0${retcode}" -ne 0 ]; then
X failed="${profile} (${retcode}) ${failed:-}"
X else
X success="${profile} ${success:-}"
X fi
X done
X # It exits so that non-profile rc.d is not started when there are profiles.
X exit 0
X fi
Xfi
X
Xpidfile="${piddir}/${pidname}.pid"
X
Xcommand="/usr/local/bin/mnrpes-receiver.rb"
X
Xstart_precmd="mnrpes_receiver_precmd ${mnrpes_receiver_user} ${piddir} ${logdir}"
X
Xcommand_args="--pid ${pidfile} --config ${mnrpes_receiver_config}"
X
Xrun_rc_command "$1"
bb58297c32ed40ba941dd89057613c65
echo x - mnrpes/files/mnrpes_scheduler.in
sed 's/^X//' >mnrpes/files/mnrpes_scheduler.in << '6d1615dbb226c3c6505c3f012a463407'
X#!/bin/sh
X
X# $FreeBSD: head/www/mnrpes_scheduler/files/mnrpes_scheduler.in 340872 2014-01-24 00:14:07Z mat $
X#
X# mnrpes_scheduler startup script
X#
X# PROVIDE: mnrpes_scheduler
X# REQUIRE: LOGIN
X# KEYWORD: shutdown
X#
X# Add the following to /etc/rc.conf[.local] to enable this service
X#
X# mnrpes_scheduler_enable="YES"
X#
X# You can fine tune others variables too:
X# mnrpes_scheduler_config=
X# mnrpes_scheduler_checks=
X# Use mnrpes_scheduler_user to run mnrpes_scheduler as user
X
X# mnrpes_scheduler rc.d script supports multiple profiles (a-la rc.d/nginx)
X# When profiles are specified, the non-profile specific parameters become defaults.
X#
X# Example:
X#
X# mnrpes_scheduler_enable="YES"
X# mnrpes_scheduler_profiles="myserver myotherserver"
X# mnrpes_scheduler_config="/usr/local/etc/mnrpes/mnrpes-scheduler.cfg"
X# mnrpes_scheduler_checks="/usr/local/etc/mnrpes/checks.txt"
X# mnrpes_scheduler_myserver_user="myuser"
X# mnrpes_scheduler_myotherserver_user="myotheruser"
X# mnrpes_scheduler_myotherserver_config="/usr/local/etc/mnrpes/mnrpes-scheduler-myotherserver.cfg"
X# mnrpes_scheduler_myotherserver_checks="/usr/local/etc/mnrpes/checks-myotherserver.txt"
X
X. /etc/rc.subr
X
Xname="mnrpes_scheduler"
Xrcvar=mnrpes_scheduler_enable
X
Xmnrpes_scheduler_setfib() {
X if command -v check_namevarlist > /dev/null 2>&1; then
X check_namevarlist fib && return 0
X fi
X
X ${SYSCTL} net.fibs >/dev/null 2>&1 || return 0
X
X mnrpes_scheduler_fib=${mnrpes_scheduler_fib:-"NONE"}
X case "$mnrpes_scheduler_fib" in
X [Nn][Oo][Nn][Ee])
X ;;
X *)
X command="setfib -F ${mnrpes_scheduler_fib} ${command}"
X ;;
X esac
X}
X
Xmnrpes_scheduler_precmd() {
X user="$1"
X piddir="$2"
X logdir="$3"
X mnrpes_scheduler_setfib
X install -d -o $user -g wheel -m 1750 "${piddir}"
X install -d -o $user -g wheel -m 1750 "${logdir}"
X}
X
Xcommand_interpreter="ruby"
X
Xpiddir="/var/run/mnrpes/scheduler"
Xpidname="scheduler"
Xlogdir="/var/log/mnrpes/scheduler"
X
Xload_rc_config $name
X
X# These are just the defaults, they might get overriden for a specific profile.
Xmnrpes_scheduler_enable=${mnrpes_scheduler_enable:-"NO"}
Xmnrpes_scheduler_user=${mnrpes_scheduler_user:-"nobody"}
Xmnrpes_scheduler_config=${mnrpes_scheduler_config:-"/usr/local/etc/mnrpes/mnrpes-scheduler.cfg"}
Xmnrpes_scheduler_checks=${mnrpes_scheduler_checks:-"/usr/local/etc/mnrpes/checks.txt"}
X
X# This handles profile specific vars.
Xif [ -n "$2" ]; then
X profile="$2"
X if [ -n "${mnrpes_scheduler_profiles}" ]; then
X piddir="${piddir}.${profile}"
X pidname="${pidname}.${profile}"
X logdir="${logdir}.${profile}"
X eval mnrpes_scheduler_enable="\${mnrpes_scheduler_${profile}_enable:-${mnrpes_scheduler_enable}}"
X eval mnrpes_scheduler_fib="\${mnrpes_scheduler_${profile}_fib:-${mnrpes_scheduler_fib}}"
X eval mnrpes_scheduler_user="\${mnrpes_scheduler_${profile}_user:-${mnrpes_scheduler_user}}"
X eval mnrpes_scheduler_config="\${mnrpes_scheduler_${profile}_config:-${mnrpes_scheduler_config}}"
X eval mnrpes_scheduler_checks="\${mnrpes_scheduler_${profile}_checks:-${mnrpes_scheduler_checks}}"
X else
X echo "$0: extra argument ignored"
X fi
Xelse
X if [ -n "${mnrpes_scheduler_profiles}" -a -n "$1" ]; then
X for profile in ${mnrpes_scheduler_profiles}; do
X echo "===> mnrpes_scheduler profile: ${profile}"
X /usr/local/etc/rc.d/mnrpes_scheduler $1 ${profile}
X retcode="$?"
X if [ "0${retcode}" -ne 0 ]; then
X failed="${profile} (${retcode}) ${failed:-}"
X else
X success="${profile} ${success:-}"
X fi
X done
X # It exits so that non-profile rc.d is not started when there are profiles.
X exit 0
X fi
Xfi
X
Xpidfile="${piddir}/${pidname}.pid"
X
Xcommand="/usr/local/bin/mnrpes-scheduler.rb"
X
Xstart_precmd="mnrpes_scheduler_precmd ${mnrpes_scheduler_user} ${piddir} ${logdir}"
X
Xcommand_args="--pid ${pidfile} --config ${mnrpes_scheduler_config} --checks ${mnrpes_scheduler_checks}"
X
Xrun_rc_command "$1"
6d1615dbb226c3c6505c3f012a463407
exit
--- mnrpes-2014033101.shar ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list