diff options
author | tv <tv@shackspace.de> | 2014-08-11 21:41:42 +0200 |
---|---|---|
committer | tv <tv@shackspace.de> | 2014-08-11 21:41:42 +0200 |
commit | b62400bcfa8f5551ea8c3ef7c5f2aecf008bd7f0 (patch) | |
tree | 54b8011408b4a299aa743983c2ebbe308cb3316b /Reaktor | |
parent | bace29e195f728d9fcc31932913833ea31d8e531 (diff) |
Reaktor nag: add support for service inspection
Diffstat (limited to 'Reaktor')
-rwxr-xr-x | Reaktor/commands/nag | 17 | ||||
-rw-r--r-- | Reaktor/config.py | 16 |
2 files changed, 24 insertions, 9 deletions
diff --git a/Reaktor/commands/nag b/Reaktor/commands/nag index e552e11c..fabeec8d 100755 --- a/Reaktor/commands/nag +++ b/Reaktor/commands/nag @@ -35,17 +35,32 @@ diff -u nag.hosts.ls nag.services.ls > nag.patch || : missing_services=$(sed -n '1d;2d;s/^-\(.*\)/\1/p' nag.patch | tr '\n' ' ') obsolete_services=$(sed -n '1d;2d;s/^+\(.*\)/\1/p' nag.patch | tr '\n' ' ') +if test "${inspect_services-false}" = true; then + missing_owners=$(set +f; cd nag.services && grep '^owner:$' * | cut -d: -f1) + missing_mailtos=$(set +f; cd nag.services && grep '^mailto:$' * | cut -d: -f1) +fi # # output # +did_nag=false if test -n "$missing_services"; then echo missing services: $missing_services + did_nag=true fi if test -n "$obsolete_services"; then echo obsolete services: $obsolete_services + did_nag=true +fi +if test -n "${missing_owners-}"; then + echo services with missing owner entry: $missing_owners + did_nag=true +fi +if test -n "${missing_mailtos-}"; then + echo services with missing mailto entry: $missing_mailtos + did_nag=true fi # if asked directly, answer if there is nothing to nag about -if test -z "$missing_services$obsolete_services" -a -n "${_from:-}";then +if test $did_nag = false -a -n "${_from:-}";then echo "nothing to nag about" fi diff --git a/Reaktor/config.py b/Reaktor/config.py index 9feecbaf..8a83b28e 100644 --- a/Reaktor/config.py +++ b/Reaktor/config.py @@ -21,6 +21,12 @@ irc_channels = [ admin_file=workdir+'/admin.lst' auth_file=workdir+'/auth.lst' +nag_env={ + 'hosts_repo': 'https://github.com/krebscode/hosts', + 'services_repo': 'gitolite@localhost:services', + 'inspect_services': 'false' +} + config_filename = abspath(__file__) # me is used, so name cannot kill our patterns below @@ -58,10 +64,7 @@ public_commands = [ default_command('tell', cmd='tell-on_privmsg', env={ 'state_file': workdir + '/tell.txt' }), - default_command('nag',env={ - 'hosts_repo': 'https://github.com/krebscode/hosts', - 'services_repo': 'gitolite@localhost:services' - }), + default_command('nag', env=nag_env), simple_command('identify', env={ 'config_filename': config_filename }), @@ -89,10 +92,7 @@ on_ping = [ { 'capname': 'nag', 'argv': [ 'commands/nag' ], - 'env': { - 'hosts_repo': 'https://github.com/krebscode/hosts', - 'services_repo': 'gitolite@localhost:services' - }, + 'env': nag_env, 'targets': irc_channels } ] |