diff options
Diffstat (limited to '')
| -rw-r--r-- | modules/by-name/mo/monitoring/components/grafana.nix | 51 |
1 files changed, 32 insertions, 19 deletions
diff --git a/modules/by-name/mo/monitoring/components/grafana.nix b/modules/by-name/mo/monitoring/components/grafana.nix index 5459878..6fe5b70 100644 --- a/modules/by-name/mo/monitoring/components/grafana.nix +++ b/modules/by-name/mo/monitoring/components/grafana.nix @@ -118,31 +118,44 @@ in { }; }; + users = { + groups = { + grafana = { + gid = config.vhack.constants.ids.gids.grafana; + }; + }; + users = { + grafana = { + isSystemUser = true; + group = "grafana"; + uid = lib.mkForce config.vhack.constants.ids.uids.grafana; + }; + }; + }; + vhack = { postgresql.enable = true; + + persist.directories = [ + { + directory = "/var/lib/grafana/"; + user = "grafana"; + group = "grafana"; + mode = "0700"; + } + ]; + monitoring.grafana.dashboards = [ - ../dashboards/Errors.json - ../dashboards/Performance.json - ../dashboards/Scraping_Jobs.json + ../dashboards/node_exporter.json + ../dashboards/performance.json + ../dashboards/scraping_jobs.json + ../dashboards/systemd_exporter.json ]; + + anubis.instances."${cfg.fqdn}".target = "http://${config.services.grafana.settings.server.http_addr}:${toString cfg.port}"; }; services = { - nginx = { - virtualHosts.${cfg.fqdn} = { - locations."/" = { - proxyPass = "http://${toString config.services.grafana.settings.server.http_addr}:${toString config.services.grafana.settings.server.http_port}"; - proxyWebsockets = true; - extraConfig = '' - proxy_set_header Host $host; - ''; - }; - - forceSSL = true; - enableACME = true; - }; - }; - postgresql = { ensureUsers = [ { @@ -198,7 +211,7 @@ in { folder = "Vhack"; options.path = pkgs.symlinkJoin { name = "dashboards"; - paths = map (p: pkgs.runCommand "davhackoard" {} "mkdir $out; cp ${p} $out") cfg.dashboards; + paths = map (p: pkgs.runCommand "dashoard" {} "mkdir $out; cp ${p} $out") cfg.dashboards; }; allowUiUpdates = true; disableDeletion = true; |
