summaryrefslogtreecommitdiffstats
path: root/makefu/2configs/deployment/bureautomation/default.nix
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2017-12-08 14:04:35 +0100
committermakefu <github@syntax-fehler.de>2017-12-08 14:04:35 +0100
commite99a9ac9f113ea9d79ae3b830d8b328c9ef03e40 (patch)
treeffac171ffa78c58ed5892542250e5f23f137db65 /makefu/2configs/deployment/bureautomation/default.nix
parent20eb8ac1e2d72920814b9f354623646824a68b6b (diff)
ma wbob.r: enable bureautomation
Diffstat (limited to 'makefu/2configs/deployment/bureautomation/default.nix')
-rw-r--r--makefu/2configs/deployment/bureautomation/default.nix41
1 files changed, 41 insertions, 0 deletions
diff --git a/makefu/2configs/deployment/bureautomation/default.nix b/makefu/2configs/deployment/bureautomation/default.nix
new file mode 100644
index 00000000..3897537e
--- /dev/null
+++ b/makefu/2configs/deployment/bureautomation/default.nix
@@ -0,0 +1,41 @@
+{ pkgs, lib, ... }:
+
+with lib;
+let
+ port = 3001;
+ runit = pkgs.writeDash "runit" ''
+ set -xeuf
+ PATH=${pkgs.curl}/bin:${pkgs.coreutils}/bin
+ name=''${1?must provide name as first arg}
+ state=''${2?must provide state as second arg}
+ # val=''${3?must provide val as third arg}
+
+ # we ignore non-alerting events
+ test $state = alerting || exit 0
+
+ echo $name - $state
+ curl 'http://bauarbeiterlampe/ay?o=1'
+ sleep 5
+ curl 'http://bauarbeiterlampe/ay?o=1'
+ '';
+in {
+ services.logstash = {
+ package = pkgs.logstash5;
+ enable = true;
+ inputConfig = ''
+ http {
+ port => ${toString port}
+ host => "127.0.0.1"
+ }
+ '';
+ filterConfig = ''
+ '';
+ outputConfig = ''
+ stdout { codec => json }
+ exec { command => "${runit} '%{ruleName}' '%{state}'" }
+ '';
+ extraSettings = ''
+ path.plugins: [ "${pkgs.logstash-output-exec}" ]
+ '';
+ };
+}