mirror of
https://github.com/LnL7/nix-darwin.git
synced 2024-12-14 11:57:34 +00:00
netdata: add netdata service in nix-darwin.
This commit is contained in:
parent
7655918380
commit
239d802869
4 changed files with 76 additions and 0 deletions
|
@ -69,6 +69,7 @@
|
|||
./services/mail/offlineimap.nix
|
||||
./services/mopidy.nix
|
||||
./services/monitoring/telegraf.nix
|
||||
./services/monitoring/netdata.nix
|
||||
./services/netbird.nix
|
||||
./services/nix-daemon.nix
|
||||
./services/nix-gc
|
||||
|
|
55
modules/services/monitoring/netdata.nix
Normal file
55
modules/services/monitoring/netdata.nix
Normal file
|
@ -0,0 +1,55 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.services.netdata;
|
||||
|
||||
in {
|
||||
meta.maintainers = [ lib.maintainers.rsrohitsingh682 or "rsrohitsingh682" ];
|
||||
|
||||
options = {
|
||||
services.netdata = {
|
||||
enable = mkEnableOption "Netdata daemon";
|
||||
|
||||
package = lib.mkPackageOption pkgs "netdata" {};
|
||||
|
||||
config = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
description = "Custom configuration for Netdata";
|
||||
};
|
||||
|
||||
workDir = mkOption {
|
||||
type = types.path;
|
||||
default = "/var/lib/netdata";
|
||||
description = "Working directory for Netdata";
|
||||
};
|
||||
|
||||
logDir = mkOption {
|
||||
type = types.path;
|
||||
default = "/var/log/netdata";
|
||||
description = "Log directory for Netdata";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
launchd.daemons.netdata = {
|
||||
serviceConfig = {
|
||||
Label = "netdata";
|
||||
KeepAlive = true;
|
||||
WorkingDirectory = cfg.workDir;
|
||||
StandardErrorPath = "${cfg.logDir}/netdata.log";
|
||||
StandardOutPath = "${cfg.logDir}/netdata.log";
|
||||
};
|
||||
command = lib.getExe cfg.package;
|
||||
};
|
||||
|
||||
environment.etc."netdata/netdata.conf".text = cfg.config;
|
||||
|
||||
system.activationScripts.preActivation.text = ''
|
||||
mkdir -p ${cfg.workDir}
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -128,6 +128,7 @@ let
|
|||
tests.services-nix-gc = makeTest ./tests/services-nix-gc.nix;
|
||||
tests.services-nix-optimise = makeTest ./tests/services-nix-optimise.nix;
|
||||
tests.services-nextdns = makeTest ./tests/services-nextdns.nix;
|
||||
tests.services-netdata = makeTest ./tests/services-netdata.nix;
|
||||
tests.services-ofborg = makeTest ./tests/services-ofborg.nix;
|
||||
tests.services-offlineimap = makeTest ./tests/services-offlineimap.nix;
|
||||
tests.services-privoxy = makeTest ./tests/services-privoxy.nix;
|
||||
|
|
19
tests/services-netdata.nix
Normal file
19
tests/services-netdata.nix
Normal file
|
@ -0,0 +1,19 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
netdata = pkgs.runCommand "netdata-0.0.0" {} "mkdir $out";
|
||||
in
|
||||
{
|
||||
services.netdata = {
|
||||
enable = true;
|
||||
package = netdata;
|
||||
};
|
||||
|
||||
test = ''
|
||||
echo >&2 "checking netdata service in launchd daemons"
|
||||
grep "netdata" ${config.out}/Library/LaunchDaemons/netdata.plist
|
||||
grep "${netdata}/bin/netdata" ${config.out}/Library/LaunchDaemons/netdata.plist
|
||||
'';
|
||||
}
|
Loading…
Reference in a new issue