diff --git a/machines/nixos/compute01/grafana.nix b/machines/nixos/compute01/grafana/default.nix similarity index 75% rename from machines/nixos/compute01/grafana.nix rename to machines/nixos/compute01/grafana/default.nix index b712c7d..d01a9ac 100644 --- a/machines/nixos/compute01/grafana.nix +++ b/machines/nixos/compute01/grafana/default.nix @@ -2,7 +2,12 @@ # # SPDX-License-Identifier: EUPL-1.2 -{ config, ... }: +{ + config, + pkgs, + meta, + ... +}: let host = "grafana.dgnum.eu"; @@ -62,6 +67,27 @@ in auto_assign_org_role = "Admin"; }; }; + + declarativePlugins = import ./plugins.nix { inherit pkgs; }; + + provision = { + enable = true; + + datasources.settings.datasources = [ + { + name = "VictoriaLogs"; + type = "victoriametrics-logs-datasource"; + access = "proxy"; + url = "http://${meta.network.storage01.netbirdIp}:9428"; + } + { + name = "VictoriaMetrics"; + type = "victoriametrics-metrics-datasource"; + access = "proxy"; + url = "http://${meta.network.storage01.netbirdIp}:8428"; + } + ]; + }; }; postgresql = { diff --git a/machines/nixos/compute01/grafana/plugins.nix b/machines/nixos/compute01/grafana/plugins.nix new file mode 100644 index 0000000..ada5597 --- /dev/null +++ b/machines/nixos/compute01/grafana/plugins.nix @@ -0,0 +1,19 @@ +# SPDX-FileCopyrightText: 2025 Tom Hubrecht +# +# SPDX-License-Identifier: EUPL-1.2 + +{ pkgs, ... }: + +builtins.map pkgs.grafanaPlugins.grafanaPlugin [ + { + pname = "victoriametrics-logs-datasource"; + version = "0.14.3"; + zipHash = "sha256-g/ntmNyWJ9h/eYpZ0gqiESvVfm2fU6/Ci8R7FHIV7AQ="; + } + + { + pname = "victoriametrics-metrics-datasource"; + version = "0.13.1"; + zipHash = "sha256-n1LskeOzp32LZS3PcsRh8FwQVBFVlzczfO2aGbEClSo="; + } +]