diff options
author | tv <tv@shackspace.de> | 2014-07-15 10:57:48 +0200 |
---|---|---|
committer | tv <tv@shackspace.de> | 2014-07-15 10:57:48 +0200 |
commit | 141401974b683db6ab9be473b634f494c05c5565 (patch) | |
tree | 4b0805755675de1ff8638617d5fdcabf6ccf263c /Reaktor | |
parent | d4d3007d446691d5959f8a1f360df0b74a793e1f (diff) |
Reaktor commands nag: POC
Diffstat (limited to 'Reaktor')
-rwxr-xr-x | Reaktor/commands/nag | 32 | ||||
-rw-r--r-- | Reaktor/config.py | 5 |
2 files changed, 37 insertions, 0 deletions
diff --git a/Reaktor/commands/nag b/Reaktor/commands/nag new file mode 100755 index 00000000..68035831 --- /dev/null +++ b/Reaktor/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/Reaktor/config.py b/Reaktor/config.py index b1158271..247838d6 100644 --- a/Reaktor/config.py +++ b/Reaktor/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 = [ |