nixos/grafana: add test case for socket proxy

This commit is contained in:
Franz Pletz 2022-12-14 13:57:51 +01:00
parent 9be81d0acf
commit a0b6072547
No known key found for this signature in database
GPG key ID: 846FDED7792617B4

View file

@ -25,6 +25,22 @@ let
extraNodeConfs = {
sqlite = {};
socket = { config, ... }: {
services.grafana.settings.server = {
protocol = "socket";
socket = "/run/grafana/sock";
socket_gid = config.users.groups.nginx.gid;
};
users.users.grafana.extraGroups = [ "nginx" ];
services.nginx = {
enable = true;
recommendedProxySettings = true;
virtualHosts."_".locations."/".proxyPass = "http://unix:/run/grafana/sock";
};
};
declarativePlugins = {
services.grafana.declarativePlugins = [ pkgs.grafanaPlugins.grafana-clock-panel ];
};
@ -92,6 +108,17 @@ in {
)
sqlite.shutdown()
with subtest("Successful API query as admin user with sqlite db listening on socket"):
socket.wait_for_unit("grafana.service")
socket.wait_for_open_port(80)
print(socket.succeed(
"curl -sSfN -u testadmin:snakeoilpwd http://127.0.0.1/api/org/users -i"
))
socket.succeed(
"curl -sSfN -u testadmin:snakeoilpwd http://127.0.0.1/api/org/users | grep admin\@localhost"
)
socket.shutdown()
with subtest("Successful API query as admin user with postgresql db"):
postgresql.wait_for_unit("grafana.service")
postgresql.wait_for_unit("postgresql.service")