#!/bin/bash

# conf
TIMEOUT=10
HOSTNAME=`hostname`
ROOT="/etc/munin/plugins"
# /conf

[ "$HOSTNAME" == "" ] && HOSTNAME=`hostname`
SERVICES=`ls -1 $ROOT | grep -v "^\."`

check_service()
{
	for i in $SERVICES; do
		[ "$1" == "$i" ] && return 0
	done

	return 1
}

parse()
{
	CMD="$1"
	shift

	case "$CMD" in
		quit|"")
			quit=1
		;;

		version)
			echo "munin lite on $HOSTNAME version: 0.1 <munin-lite@dev.kakaopor.hu>"
		;;

		list)
			echo $SERVICES
		;;

		nodes)
			echo "$HOSTNAME"
			echo "."
		;;

		config)
			check_service $1

			if [ "$?" == 0 ]; then
				$ROOT/$1 config
			else
				echo "# Unknown service"
			fi

			echo "."
		;;

		fetch)
			check_service $1

			if [ "$?" == 0 ]; then
				$ROOT/$1
			else
				echo "# Unknown service"
			fi

			echo "."
		;;

		*)
			echo "# Unknown command. Try list, nodes, config, fetch, version or quit";
		;;
	esac
}

quit=0

echo "# munin node at $HOSTNAME"

while [ "$quit" = "0" ]; do
	command=""
	read -t $TIMEOUT command
	parse $command
done

