1import ./make-test.nix ({ pkgs, ...} :
2{
3 name = "graphite";
4 nodes = {
5 one =
6 { config, pkgs, ... }: {
7 time.timeZone = "UTC";
8 services.graphite = {
9 web.enable = true;
10 api = {
11 enable = true;
12 port = 8082;
13 };
14 carbon.enableCache = true;
15 seyren.enable = true;
16 pager.enable = true;
17 };
18 };
19 };
20
21 testScript = ''
22 startAll;
23 $one->waitForUnit("default.target");
24 $one->requireActiveUnit("graphiteWeb.service");
25 $one->requireActiveUnit("graphiteApi.service");
26 $one->requireActiveUnit("graphitePager.service");
27 $one->requireActiveUnit("carbonCache.service");
28 $one->requireActiveUnit("seyren.service");
29 $one->succeed("echo \"foo 1 `date +%s`\" | nc -q0 localhost 2003");
30 $one->waitUntilSucceeds("curl 'http://localhost:8080/metrics/find/?query=foo&format=treejson' --silent | grep foo")
31 '';
32})