diff --git a/SwarselSystems.org b/SwarselSystems.org index e9f8795..ff810a6 100644 --- a/SwarselSystems.org +++ b/SwarselSystems.org @@ -6576,8 +6576,8 @@ Also, the system state version is set here. No need to touch it. sops.secrets = { grafanaadminpass = { owner = "grafana"; - } - } + }; + }; users.users.grafana = { extraGroups = [ "users" ]; }; @@ -6585,10 +6585,30 @@ Also, the system state version is set here. No need to touch it. services.grafana = { enable = true; dataDir = "/Vault/data/grafana"; - admin_password = "$__file{/run/secrets/grafanaadminpass}"; settings = { - http_port = 3000; - http_addr = "127.0.0.1"; + security.admin_password = "$__file{/run/secrets/grafanaadminpass}"; + server = { + http_port = 3000; + http_addr = "127.0.0.1"; + protocol = "https"; + domain = "status.swarsel.win"; + root_url = "%(protocol)s://%(domain)s:%(http_port)s/grafana/"; + }; + }; + }; + + services.prometheus = { + webExternalUrl = "https://status.swarsel.win/prometheus"; + port = 9090; + listenAddress = "127.0.0.1"; + exporters = { + zfs = { + enable = true; + port = 9134; + pools = [ + "Vault" + ]; + }; }; }; @@ -6599,11 +6619,17 @@ Also, the system state version is set here. No need to touch it. forceSSL = true; acmeRoot = null; locations = { - "/" = { - proxyPass = "http://localhost:3000/"; + "/grafana" = { + proxyPass = "http://localhost:3000/grafana/"; extraConfig = '' - client_max_body_size 0; - ''; + client_max_body_size 0; + ''; + }; + "/prometheus" = { + proxyPass = "http://localhost:9090/prometheus/"; + extraConfig = '' + client_max_body_size 0; + ''; }; }; }; diff --git a/profiles/server/common/monitoring.nix b/profiles/server/common/monitoring.nix index c651208..9df78bf 100644 --- a/profiles/server/common/monitoring.nix +++ b/profiles/server/common/monitoring.nix @@ -7,8 +7,8 @@ owner = "grafana"; }; }; - users.users.grafana = { - extraGroups = [ "users" ]; + users.users.grafana = { + extraGroups = [ "users" ]; }; services.grafana = { @@ -19,6 +19,24 @@ server = { http_port = 3000; http_addr = "127.0.0.1"; + protocol = "https"; + domain = "status.swarsel.win"; + root_url = "%(protocol)s://%(domain)s:%(http_port)s/grafana/"; + }; + }; + }; + + services.prometheus = { + webExternalUrl = "https://status.swarsel.win/prometheus"; + port = 9090; + listenAddress = "127.0.0.1"; + exporters = { + zfs = { + enable = true; + port = 9134; + pools = [ + "Vault" + ]; }; }; }; @@ -30,8 +48,14 @@ forceSSL = true; acmeRoot = null; locations = { - "/" = { - proxyPass = "http://localhost:3000/"; + "/grafana" = { + proxyPass = "http://localhost:3000/grafana/"; + extraConfig = '' + client_max_body_size 0; + ''; + }; + "/prometheus" = { + proxyPass = "http://localhost:9090/prometheus/"; extraConfig = '' client_max_body_size 0; '';