From 2ae08dc9c5d0fa08342004ab18a15b0538cfb490 Mon Sep 17 00:00:00 2001 From: SebastianStork Date: Mon, 12 Jan 2026 20:45:34 +0100 Subject: [PATCH] grafana: Enable datasources and dashboards intelligently --- hosts/vps-monitor/default.nix | 10 -------- modules/system/web-services/grafana.nix | 34 +++++++++++++++++-------- 2 files changed, 24 insertions(+), 20 deletions(-) diff --git a/hosts/vps-monitor/default.nix b/hosts/vps-monitor/default.nix index 56e9488..a86ae4f 100644 --- a/hosts/vps-monitor/default.nix +++ b/hosts/vps-monitor/default.nix @@ -65,16 +65,6 @@ grafana = { enable = true; domain = "grafana.${privateDomain}"; - datasources = { - prometheus.enable = true; - victoriametrics.enable = true; - victorialogs.enable = true; - }; - dashboards = { - nodeExporter.enable = true; - victoriametrics.enable = true; - victorialogs.enable = true; - }; }; victoriametrics = { diff --git a/modules/system/web-services/grafana.nix b/modules/system/web-services/grafana.nix index a0c64b7..c5ed60e 100644 --- a/modules/system/web-services/grafana.nix +++ b/modules/system/web-services/grafana.nix @@ -20,32 +20,46 @@ in }; datasources = { prometheus = { - enable = lib.mkEnableOption ""; + enable = lib.mkEnableOption "" // { + default = config.custom.web-services.victoriametrics.enable; + }; url = lib.mkOption { type = lib.types.nonEmptyStr; - default = "https://metrics.${config.custom.networking.overlay.domain}"; + default = "https://${config.custom.web-services.victoriametrics.domain}"; }; }; victoriametrics = { - enable = lib.mkEnableOption ""; + enable = lib.mkEnableOption "" // { + default = config.custom.web-services.victoriametrics.enable; + }; url = lib.mkOption { type = lib.types.nonEmptyStr; - default = "https://metrics.${config.custom.networking.overlay.domain}"; + default = "https://${config.custom.web-services.victoriametrics.domain}"; }; }; victorialogs = { - enable = lib.mkEnableOption ""; + enable = lib.mkEnableOption "" // { + default = config.custom.web-services.victorialogs.enable; + }; url = lib.mkOption { type = lib.types.nonEmptyStr; - default = "https://logs.${config.custom.networking.overlay.domain}"; + default = "https://${config.custom.web-services.victorialogs.domain}"; }; }; }; dashboards = { - nodeExporter.enable = lib.mkEnableOption ""; - victoriametrics.enable = lib.mkEnableOption ""; - victorialogs.enable = lib.mkEnableOption ""; - crowdsec.enable = lib.mkEnableOption ""; + nodeExporter.enable = lib.mkEnableOption "" // { + default = true; + }; + victoriametrics.enable = lib.mkEnableOption "" // { + default = config.custom.web-services.victoriametrics.enable; + }; + victorialogs.enable = lib.mkEnableOption "" // { + default = config.custom.web-services.victorialogs.enable; + }; + crowdsec.enable = lib.mkEnableOption "" // { + default = config.custom.services.crowdsec.enable; + }; }; };