diff options
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; + }; + }; + }; + }; +} |
