Merge remote-tracking branch 'gum/master'

This commit is contained in:
lassulus 2020-09-27 16:09:12 +02:00
commit 7e7499d863
6 changed files with 42 additions and 36 deletions

View File

@ -27,6 +27,8 @@ in
<stockholm/krebs/2configs/shack/muellshack.nix> <stockholm/krebs/2configs/shack/muellshack.nix>
# provide light control api # provide light control api
<stockholm/krebs/2configs/shack/node-light.nix> <stockholm/krebs/2configs/shack/node-light.nix>
# light.shack web-ui
<stockholm/krebs/2configs/shack/light.shack.nix>
# send mail if muell was not handled # send mail if muell was not handled
<stockholm/krebs/2configs/shack/muell_mail.nix> <stockholm/krebs/2configs/shack/muell_mail.nix>
# send mail if muell was not handled # send mail if muell was not handled

View File

@ -0,0 +1,12 @@
{ config, pkgs, ... }:
let
light-shack-src = pkgs.fetchgit {
url = "https://git.shackspace.de/rz/standby.shack";
rev = "e1b90a0a";
sha256 = "07fmz63arc5rxa0a3778srwz0jflp4ad6xnwkkc56hwybby0bclh";
};
web-dir = "${light-shack-src}/client/www/";
in
{
services.nginx.virtualHosts."light.shack".locations."/".root = web-dir;
}

View File

@ -4,8 +4,8 @@ let
pkg = pkgs.callPackage ( pkg = pkgs.callPackage (
pkgs.fetchgit { pkgs.fetchgit {
url = "https://git.shackspace.de/rz/muell_mail"; url = "https://git.shackspace.de/rz/muell_mail";
rev = "57b67c95052d90044137b2c89007a371dc389afd"; rev = "c3e43687879f95e01a82ef176fa15678543b2eb8";
sha256 = "1grkzs6fxjnc2bv4kskj63d5sb4qxz6yyr85nj0da9hn7qkk4jkj"; sha256 = "0hgchwam5ma96s2v6mx2jfkh833psadmisjbm3k3153rlxp46frx";
}) { mkYarnPackage = pkgs.yarn2nix-moretea.mkYarnPackage; }; }) { mkYarnPackage = pkgs.yarn2nix-moretea.mkYarnPackage; };
home = "/var/lib/muell_mail"; home = "/var/lib/muell_mail";
cfg = toString <secrets/shack/muell_mail.js>; cfg = toString <secrets/shack/muell_mail.js>;

View File

@ -8,7 +8,7 @@
DynamicUser = true; DynamicUser = true;
StateDirectory = "alertbot"; StateDirectory = "alertbot";
ExecStart = ''${pkgs.alertmanager-bot-telegram}/bin/alertmanager-bot \ ExecStart = ''${pkgs.alertmanager-bot-telegram}/bin/alertmanager-bot \
--alertmanager.url=http://alert.prometheus.shack --log.level=debug \ --alertmanager.url=http://alert.prometheus.shack --log.level=info \
--store=bolt --bolt.path=/var/lib/alertbot/bot.db \ --store=bolt --bolt.path=/var/lib/alertbot/bot.db \
--listen.addr="0.0.0.0:16320" \ --listen.addr="0.0.0.0:16320" \
--template.paths=${./templates}/shack.tmpl''; --template.paths=${./templates}/shack.tmpl'';

View File

@ -41,40 +41,7 @@ in {
bind-address = ":${toString collectd-port}"; bind-address = ":${toString collectd-port}";
}]; }];
}; };
krebs.kapacitor =
let
echoToIrc = pkgs.writeDash "echo_irc" ''
set -euf
data="$(${pkgs.jq}/bin/jq -r .message)"
export LOGNAME=${irc-nick}
${pkgs.irc-announce}/bin/irc-announce \
${irc-server} 6667 ${irc-nick} \#noise "$data" >/dev/null
'';
in {
enable = true;
alarms = {
cpu_deadman.database = db;
cpu_deadman.text = ''
var data = batch
|query(${"'''"}
SELECT mean("value") AS mean
FROM "collectd_db"."default"."cpu_value"
WHERE "type_instance" = 'idle' AND "type" = 'percent' fill(0)
${"'''"})
.period(10m)
.every(1m)
.groupBy('host')
data |alert()
.crit(lambda: "mean" < 50)
.stateChangesOnly()
.exec('${echoToIrc}')
data |deadman(1.0,5m)
.stateChangesOnly()
.exec('${echoToIrc}')
'';
};
};
networking.firewall.extraCommands = '' networking.firewall.extraCommands = ''
iptables -A INPUT -i retiolum -p udp --dport ${toString collectd-port} -j ACCEPT iptables -A INPUT -i retiolum -p udp --dport ${toString collectd-port} -j ACCEPT
iptables -A INPUT -i retiolum -p tcp --dport ${toString influx-port} -j ACCEPT iptables -A INPUT -i retiolum -p tcp --dport ${toString influx-port} -j ACCEPT

View File

@ -0,0 +1,25 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
pname = "tt-rss";
version = "2020-09-23";
rev = "d0ed7890df";
src = fetchurl {
url = "https://git.tt-rss.org/git/tt-rss/archive/${rev}.tar.gz";
sha256 = "1b2fczd41bqg9bq37r99svrqswr9qrp35m6gn3nz032yqcwc22ij";
};
installPhase = ''
mkdir $out
cp -ra * $out/
'';
meta = with stdenv.lib; {
description = "Web-based news feed (RSS/Atom) aggregator";
license = licenses.gpl2Plus;
homepage = "https://tt-rss.org";
maintainers = with maintainers; [ globin zohl ];
platforms = platforms.all;
};
}