From 4a34debc88eda9d839584b52bfcf5fbca10ae307 Mon Sep 17 00:00:00 2001 From: tv Date: Tue, 15 Jul 2014 10:57:48 +0200 Subject: Reaktor commands nag: POC --- commands/nag | 32 ++++++++++++++++++++++++++++++++ config.py | 5 +++++ 2 files changed, 37 insertions(+) create mode 100755 commands/nag diff --git a/commands/nag b/commands/nag new file mode 100755 index 0000000..6803583 --- /dev/null +++ b/commands/nag @@ -0,0 +1,32 @@ +#! /bin/sh +set -euf + +cd "$workdir" + +if test -e nag.hosts; then + echo "nag seems to run already... if not, then delete $workdir/nag.*, please" + exit 23 +fi + +trap 'rm -f nag.hosts nag.services nag.patch' EXIT INT QUIT + +(cd "$hostsdir" && ls | sort) > nag.hosts +(cd "$servicesdir" && ls | sort) > nag.services + +diff -u nag.hosts nag.services > nag.patch || : + +missing_services=$(sed -n '1d;2d;s/^-\(.*\)/\1/p' nag.patch | tr '\n' ' ') +superfluous_services=$(sed -n '1d;2d;s/^+\(.*\)/\1/p' nag.patch | tr '\n' ' ') + +# +# output +# +if test -n "$missing_services"; then + echo missing services: $missing_services +fi +if test -n "$superfluous_services"; then + echo superfluous services: $superfluous_services +fi +if test -z "$missing_services$superfluous_services"; then + echo hosts and services are in sync +fi diff --git a/config.py b/config.py index b115827..247838d 100644 --- a/config.py +++ b/config.py @@ -71,6 +71,11 @@ public_commands = [ ] commands = [ default_command('reload') + default_command('nag', env={ + 'workdir': workdir, + 'hostsdir': '/home/tv/krebs/hosts', + 'servicesdir': '/home/tv/krebs/services' + }) ] on_join = [ -- cgit v1.2.3