1{ lib, ... }:
2{
3 name = "cadvisor";
4 meta.maintainers = with lib.maintainers; [ offline ];
5
6 nodes = {
7 machine = {
8 services.cadvisor.enable = true;
9 };
10
11 influxdb = {
12 services.cadvisor.enable = true;
13 services.cadvisor.storageDriver = "influxdb";
14 services.influxdb.enable = true;
15 };
16 };
17
18 testScript = ''
19 start_all()
20 machine.wait_for_unit("cadvisor.service")
21 machine.succeed("curl -f http://localhost:8080/containers/")
22
23 influxdb.wait_for_unit("influxdb.service")
24
25 # create influxdb database
26 influxdb.succeed(
27 'curl -f -XPOST http://localhost:8086/query --data-urlencode "q=CREATE DATABASE root"'
28 )
29
30 influxdb.wait_for_unit("cadvisor.service")
31 influxdb.succeed("curl -f http://localhost:8080/containers/")
32 '';
33}