nixos/scrutiny: Dont enable influxdb when only using scrutiny-collector

This commit is contained in:
MinerSebas 2024-03-16 17:37:27 +01:00
parent 9af9c1c87e
commit 7d6917088c

View File

@ -2,7 +2,7 @@
let
inherit (lib) maintainers;
inherit (lib.meta) getExe;
inherit (lib.modules) mkIf;
inherit (lib.modules) mkIf mkMerge;
inherit (lib.options) literalExpression mkEnableOption mkOption mkPackageOption;
inherit (lib.types) bool enum nullOr port str submodule;
@ -156,42 +156,43 @@ in
};
};
config = mkIf (cfg.enable || cfg.collector.enable) {
services.influxdb2.enable = cfg.influxdb.enable;
config = mkMerge [
(mkIf cfg.enable {
services.influxdb2.enable = cfg.influxdb.enable;
networking.firewall = mkIf cfg.openFirewall {
allowedTCPPorts = [ cfg.settings.web.listen.port ];
};
networking.firewall = mkIf cfg.openFirewall {
allowedTCPPorts = [ cfg.settings.web.listen.port ];
};
services.smartd = mkIf cfg.collector.enable {
enable = true;
extraOptions = [
"-A /var/log/smartd/"
"--interval=600"
];
};
systemd = {
services = {
scrutiny = mkIf cfg.enable {
description = "Hard Drive S.M.A.R.T Monitoring, Historical Trends & Real World Failure Thresholds";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
environment = {
SCRUTINY_VERSION = "1";
SCRUTINY_WEB_DATABASE_LOCATION = "/var/lib/scrutiny/scrutiny.db";
SCRUTINY_WEB_SRC_FRONTEND_PATH = "${cfg.package}/share/scrutiny";
};
serviceConfig = {
DynamicUser = true;
ExecStart = "${getExe cfg.package} start --config ${settingsFormat.generate "scrutiny.yaml" cfg.settings}";
Restart = "always";
StateDirectory = "scrutiny";
StateDirectoryMode = "0750";
};
systemd.services.scrutiny = {
description = "Hard Drive S.M.A.R.T Monitoring, Historical Trends & Real World Failure Thresholds";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
environment = {
SCRUTINY_VERSION = "1";
SCRUTINY_WEB_DATABASE_LOCATION = "/var/lib/scrutiny/scrutiny.db";
SCRUTINY_WEB_SRC_FRONTEND_PATH = "${cfg.package}/share/scrutiny";
};
serviceConfig = {
DynamicUser = true;
ExecStart = "${getExe cfg.package} start --config ${settingsFormat.generate "scrutiny.yaml" cfg.settings}";
Restart = "always";
StateDirectory = "scrutiny";
StateDirectoryMode = "0750";
};
};
})
(mkIf cfg.collector.enable {
services.smartd = {
enable = true;
extraOptions = [
"-A /var/log/smartd/"
"--interval=600"
];
};
scrutiny-collector = mkIf cfg.collector.enable {
systemd = {
services.scrutiny-collector = {
description = "Scrutiny Collector Service";
environment = {
COLLECTOR_VERSION = "1";
@ -203,13 +204,11 @@ in
};
startAt = cfg.collector.schedule;
};
};
timers = mkIf cfg.collector.enable {
scrutiny-collector.timerConfig.Persistent = true;
timers.scrutiny-collector.timerConfig.Persistent = true;
};
};
};
})
];
meta.maintainers = [ maintainers.jnsgruk ];
}