The web_access.patch would no longer apply. It disabled a check that required the static files for the web UI to be owned by the user the daemon runs as (not root, so it doesn't work well with nix). Besides updating netdata, this commit removes that patch, changes the netdata service config to set the "web files owner/group" option to "root" and adds a test that checks that the web UI is being served. This allows the web files to be owned by root without patching.
36 lines
974 B
Nix
36 lines
974 B
Nix
# This test runs netdata and checks for data via apps.plugin
|
|
|
|
import ./make-test.nix ({ pkgs, ...} : {
|
|
name = "netdata";
|
|
meta = with pkgs.stdenv.lib.maintainers; {
|
|
maintainers = [ cransom ];
|
|
};
|
|
|
|
nodes = {
|
|
netdata =
|
|
{ pkgs, ... }:
|
|
{
|
|
environment.systemPackages = with pkgs; [ curl jq ];
|
|
services.netdata.enable = true;
|
|
};
|
|
};
|
|
|
|
testScript = ''
|
|
startAll;
|
|
|
|
$netdata->waitForUnit("netdata.service");
|
|
|
|
# check if the netdata main page loads.
|
|
$netdata->succeed("curl --fail http://localhost:19999/");
|
|
|
|
# check if netdata can read disk ops for root owned processes.
|
|
# if > 0, successful. verifies both netdata working and
|
|
# apps.plugin has elevated capabilities.
|
|
my $cmd = <<'CMD';
|
|
curl -s http://localhost:19999/api/v1/data\?chart=users.pwrites | \
|
|
jq -e '[.data[range(10)][.labels | indices("root")[0]]] | add | . > 0'
|
|
CMD
|
|
$netdata->waitUntilSucceeds($cmd);
|
|
'';
|
|
})
|