summaryrefslogtreecommitdiffstats
path: root/makefu/2configs/deployment/bureautomation/default.nix
diff options
context:
space:
mode:
authorlassulus <lassulus@lassul.us>2017-12-09 15:25:12 +0100
committerlassulus <lassulus@lassul.us>2017-12-09 15:25:12 +0100
commitf5e123992ea6781d29ef2ac64d52f71a97d13010 (patch)
tree3f147f2bb1aa0821bb07601c4f463de0eac56812 /makefu/2configs/deployment/bureautomation/default.nix
parent994d822543ecc0d49cfa9319ba21d0cbf1f78b8a (diff)
parenta64144db01d2a97f1480bdbb0908d493c3f208a2 (diff)
Merge remote-tracking branch 'gum/master'
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 000000000..3897537ea
--- /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}" ]
+ '';
+ };
+}