feat(ups): Use netbirdIp as given in the metadata

This commit is contained in:
Tom Hubrecht 2024-04-23 13:47:21 +02:00
parent 4296252fcc
commit dd10a8e2fe

View file

@ -1,23 +1,29 @@
{ {
pkgs,
lib,
config, config,
lib,
pkgs,
meta,
name,
... ...
}: }:
{ {
power.ups = { power.ups = {
enable = true; enable = true;
ups.eaton = { ups.eaton = {
driver = "usbhid-ups"; driver = "usbhid-ups";
port = "auto"; port = "auto";
}; };
users.eatonmon = { users.eatonmon = {
passwordFile = config.age.secrets."eatonmon-password_file".path; passwordFile = config.age.secrets."eatonmon-password_file".path;
upsmon = "primary"; upsmon = "primary";
}; };
upsmon.monitor.eaton = { upsmon.monitor.eaton = {
user = "eatonmon"; user = "eatonmon";
}; };
schedulerRules = schedulerRules =
let let
cmdScript = pkgs.writeShellApplication { cmdScript = pkgs.writeShellApplication {
@ -28,12 +34,12 @@
]; ];
text = '' text = ''
case $1 in case $1 in
shutdown-low) MEANING="Battery is low, shutting down.";; shutdown-low) MEANING="Battery is low, shutting down.";;
shutdown-batt) MEANING="On battery for 15min, shutting down.";; shutdown-batt) MEANING="On battery for 15min, shutting down.";;
warn-batt) MEANING="Power line faillure, going on battery.";; warn-batt) MEANING="Power line faillure, going on battery.";;
warn-comm) MEANING="Communication with the UPS was broken.";; warn-comm) MEANING="Communication with the UPS was broken.";;
warn-bypass) MEANING="The UPS is not protecting the server, power line failure would kill $HOSTNAME instantly.";; warn-bypass) MEANING="The UPS is not protecting the server, power line failure would kill $HOSTNAME instantly.";;
*) MEANING="Signal unknown, check configuration.";; *) MEANING="Signal unknown, check configuration.";;
esac esac
sendmail -i -t <<ERRMAIL sendmail -i -t <<ERRMAIL
To: fai+monitoring@dgnum.eu To: fai+monitoring@dgnum.eu
@ -84,8 +90,9 @@
services.prometheus.exporters.nut = { services.prometheus.exporters.nut = {
enable = true; enable = true;
listenAddress = "100.80.255.180"; listenAddress = meta.network.${name}.netbirdIp;
port = 9199; port = 9199;
}; };
networking.firewall.interfaces.wt0.allowedTCPPorts = [ 9199 ]; networking.firewall.interfaces.wt0.allowedTCPPorts = [ 9199 ];
} }