summaryrefslogtreecommitdiffstats
path: root/makefu/2configs/deployment/wiki-irc.nix
diff options
context:
space:
mode:
authorlassulus <lass@lassul.us>2017-04-27 18:59:57 +0200
committerlassulus <lass@lassul.us>2017-04-27 18:59:57 +0200
commit379ae78ba95ba8d39873c3d8f14893f133588bb3 (patch)
treebb7ea38ea55d261a6ace536e57cbb111dd85825c /makefu/2configs/deployment/wiki-irc.nix
parenteaa6c57cd7aa06311a12cb76fae7e82976c7b865 (diff)
parentb1cad2a6497ac285c7c1a11d5bdeadb64e6bc2a5 (diff)
Merge remote-tracking branch 'gum/master'
Diffstat (limited to 'makefu/2configs/deployment/wiki-irc.nix')
-rw-r--r--makefu/2configs/deployment/wiki-irc.nix49
1 files changed, 49 insertions, 0 deletions
diff --git a/makefu/2configs/deployment/wiki-irc.nix b/makefu/2configs/deployment/wiki-irc.nix
new file mode 100644
index 000000000..73b85d821
--- /dev/null
+++ b/makefu/2configs/deployment/wiki-irc.nix
@@ -0,0 +1,49 @@
+{ pkgs, lib, ... }:
+
+with lib;
+let
+ port = 18872;
+in {
+ services.logstash = {
+ enable = true;
+ inputConfig = ''
+ http {
+ port => ${toString port}
+ host => "127.0.0.1"
+ }
+ '';
+ filterConfig = ''
+ if ([pages]) {
+ ruby {
+ code => '
+ o = ""
+ event["pages"].each { |p| o = o + "\"" + p["title"] + "\" " + p["action"] +" by "+ event["sender"]["login"]+" " +p["html_url"] + "/_compare/" + p["sha"] + "\n" }
+ event["output"] = o
+ '
+ }
+ }
+ '';
+ outputConfig = ''
+ file { path => "/tmp/logs.json" codec => "json_lines" }
+ if [output] {
+ irc {
+ channels => [ "#krebs" ]
+ host => "irc.freenode.net"
+ nick => "nixos-wiki"
+ format => "%{output}"
+ }
+ }
+ '';
+ plugins = [ ];
+ };
+
+ services.nginx = {
+ enable = lib.mkDefault true;
+ virtualHosts."ghook.krebsco.de" = {
+ locations."/".proxyPass = "http://localhost:${toString port}/";
+ enableSSL = true;
+ enableACME = true;
+ forceSSL = true;
+ };
+ };
+}