{ self, config, lib, hostPkgs, ... }: { name = "service-grafana"; result.update-vars = let relativeDir = lib.removePrefix "${self}/" (toString config.clan.directory); in hostPkgs.writeShellScriptBin "update-vars" '' set -x export PRJ_ROOT=$(git rev-parse --show-toplevel) ${ self.inputs.clan-core.packages.${hostPkgs.system}.clan-cli }/bin/clan-generate-test-vars $PRJ_ROOT/${relativeDir} ${config.name} ''; clan = { directory = ./.; inventory = { machines.server = { }; instances = { grafana-test = { module.name = "@clan/grafana"; module.input = "self"; roles.default.machines."server".settings = { }; }; }; }; }; nodes = { server = { services.grafana = { settings = { server.domain = "grafana.localhost"; }; }; }; }; testScript = '' start_all() server.wait_for_unit("grafana") server.succeed("systemctl status grafana") server.wait_for_open_port(3000) server.succeed("curl -H \"Host: grafana.localhost\" http://127.0.0.1:3000 ") server.succeed("grafana cli -v") ''; }