Skip to content

Commit

Permalink
chore(grafana): add test of providers configuration
Browse files Browse the repository at this point in the history
  • Loading branch information
Alex Pearwin committed Jun 6, 2024
1 parent 46e91e7 commit afef2bf
Showing 1 changed file with 59 additions and 1 deletion.
60 changes: 59 additions & 1 deletion nix/grafana_test.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,49 @@
{ pkgs, config, ... }: {
{ pkgs, config, ... }:
let
dashboardUid = "adnyzrfa5cqv4c"
dashboardTitle = "Test dashboard"
dashboardJson = pkgs.writeText "test_dashboard.json" ''
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": 3,
"links": [],
"panels": [],
"schemaVersion": 39,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "browser",
"title": "${dashboardTitle}",
"uid": "${dashboardUid}",
"version": 1,
"weekStart": ""
}
''
in {
services.grafana."gf1" =
{
enable = true;
Expand All @@ -7,6 +52,15 @@
security.admin_user = "patato";
security.admin_password = "potato";
};
providers = [
{
name = "Test dashboard provider";
type = "file";
options = {
path = builtins.dirOf dashboardJson;
};
}
];
};

settings.processes.test =
Expand All @@ -22,8 +76,12 @@
ADMIN=${cfg.extraConf.security.admin_user}
PASSWORD=${cfg.extraConf.security.admin_password}
ROOT_URL="${cfg.protocol}://${cfg.domain}:${builtins.toString cfg.http_port}";
# The admin user can authenticate against the running service.
curl -sSfN -u $ADMIN:$PASSWORD $ROOT_URL/api/org/users -i
curl -sSfN -u $ADMIN:$PASSWORD $ROOT_URL/api/org/users | grep admin\@localhost
# The dashboard provisioner was used to create a dashboard.
curl -sSfN -u $ADMIN:$PASSWORD $ROOT_URL/api/org/dashboards/uid/${dashboardUid} -i
curl -sSfN -u $ADMIN:$PASSWORD $ROOT_URL/api/org/dashboards/uid/${dashboardUid} | grep '"title":${dashboardTitle}'
'';
name = "grafana-test";
};
Expand Down

0 comments on commit afef2bf

Please sign in to comment.