diff options
| author | adikro <adikro@disroot.org> | 2026-06-17 00:28:00 +0200 |
|---|---|---|
| committer | adikro <adikro@disroot.org> | 2026-06-17 00:28:00 +0200 |
| commit | 630da5d0639cada53e26a03f579df0a7bac3b17a (patch) | |
| tree | 73edd6ea30331d807413d548f9559d89acc38a82 /os/srv/grafana.nix | |
| parent | ce7fb7ddd3267291a8d692cc6381dad606288aa5 (diff) | |
librewolf manual compilation issue
Diffstat (limited to 'os/srv/grafana.nix')
| -rw-r--r-- | os/srv/grafana.nix | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/os/srv/grafana.nix b/os/srv/grafana.nix new file mode 100644 index 0000000..3e1333b --- /dev/null +++ b/os/srv/grafana.nix @@ -0,0 +1,54 @@ +{ + config, + lib, + masterDomain, + securityTemplates, + ... +}: +let + cfg = config.os.srv.grafana; +in +{ + options.os.srv.grafana = { + enable = lib.mkEnableOption "enables grafana"; + proxyConfig = lib.mkOption { + type = lib.types.attrs; + default = { }; + }; + }; + config = lib.mkIf cfg.enable { + services.grafana = { + enable = true; + settings.server = { + http_addr = "127.0.0.1"; + http_port = 3000; + }; + provision = { + enable = true; + datasources.settings.datasources = [ + { + name = "Prometheus"; + type = "prometheus"; + url = "http://127.0.0.1:9090"; + } + { + name = "Loki"; + type = "loki"; + url = "http://127.0.0.1:3100"; + } + ]; + }; + }; + os.srv.grafana.proxyConfig = { + "grafana.${masterDomain}" = { + enableACME = true; + forceSSL = true; + + locations."/" = { + proxyPass = "http://${config.os.core.network.ips.vm2-gateway}:3000"; + extraConfig = securityTemplates.restrictToInternal; + }; + }; + }; + }; +} |
