summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorJörg Thalheim <joerg@thalheim.io>2018-11-21 22:58:02 +0000
committerJörg Thalheim <joerg@thalheim.io>2018-11-21 23:00:04 +0000
commit769735d8a169c2aa3393d614c948af585783a802 (patch)
treef277457ac2ff8d75149ed6adbf17338879ea7f7f /nixos
parent8f7e407f81e67a6fa4a9a6a54f552af0cf5fa3fa (diff)
downloadnixpkgs-769735d8a169c2aa3393d614c948af585783a802.tar
nixpkgs-769735d8a169c2aa3393d614c948af585783a802.tar.gz
nixpkgs-769735d8a169c2aa3393d614c948af585783a802.tar.bz2
nixpkgs-769735d8a169c2aa3393d614c948af585783a802.tar.lz
nixpkgs-769735d8a169c2aa3393d614c948af585783a802.tar.xz
nixpkgs-769735d8a169c2aa3393d614c948af585783a802.tar.zst
nixpkgs-769735d8a169c2aa3393d614c948af585783a802.zip
netdata: create missing /etc/netdata
Since netdata 1.11.0 updated in https://github.com/NixOS/nixpkgs/pull/50459
it needs to have a /etc/netdata directory, which we did not create by default.
fixes #50893
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/services/monitoring/netdata.nix18
1 files changed, 11 insertions, 7 deletions
diff --git a/nixos/modules/services/monitoring/netdata.nix b/nixos/modules/services/monitoring/netdata.nix
index 7715e291d32..4873ab1fc60 100644
--- a/nixos/modules/services/monitoring/netdata.nix
+++ b/nixos/modules/services/monitoring/netdata.nix
@@ -99,19 +99,23 @@ in {
           message = "Cannot specify both config and configText";
         }
       ];
+
+    systemd.tmpfiles.rules = [
+      "d /var/cache/netdata 0755 ${cfg.user} ${cfg.group} -"
+      "Z /var/cache/netdata - ${cfg.user} ${cfg.group} -"
+      "d /var/log/netdata 0755 ${cfg.user} ${cfg.group} -"
+      "Z /var/log/netdata - ${cfg.user} ${cfg.group} -"
+      "d /var/lib/netdata 0755 ${cfg.user} ${cfg.group} -"
+      "Z /var/lib/netdata - ${cfg.user} ${cfg.group} -"
+      "d /etc/netdata 0755 ${cfg.user} ${cfg.group} -"
+      "Z /etc/netdata - ${cfg.user} ${cfg.group} -"
+    ];
     systemd.services.netdata = {
       description = "Real time performance monitoring";
       after = [ "network.target" ];
       wantedBy = [ "multi-user.target" ];
       path = (with pkgs; [ gawk curl ]) ++ lib.optional cfg.python.enable
         (pkgs.python3.withPackages cfg.python.extraPackages);
-      preStart = concatStringsSep "\n" (map (dir: ''
-        mkdir -vp ${dir}
-        chmod 750 ${dir}
-        chown -R ${cfg.user}:${cfg.group} ${dir}
-        '') [ "/var/cache/netdata"
-              "/var/log/netdata"
-              "/var/lib/netdata" ]);
       serviceConfig = {
         User = cfg.user;
         Group = cfg.group;