1
0
Fork 0

Improving badges

This commit is contained in:
Malte Brandy 2021-01-07 00:40:54 +01:00
parent 26582cbd4f
commit c8ef67fbe9
2 changed files with 35 additions and 4 deletions

View file

@ -34,7 +34,7 @@
},
"id": 14,
"options": {
"content": "<h2><a href=\"https://ci.maralorn.de\">ci.maralorn.de</a></h2>\n<a href=\"https://ci.maralorn.de/jobs/kassandra\">\n <img src=\"https://ci.maralorn.de/badge/kassandra.svg\">\n</a>\n<a href=\"https://ci.maralorn.de/jobs/test-config\">\n <img src=\"https://ci.maralorn.de/badge/test-config.svg\">\n</a>",
"content": "@BADGES@",
"mode": "html"
},
"pluginVersion": "7.3.5",

View file

@ -1,4 +1,35 @@
{ ... }: {
{ pkgs, lib, ... }:
let
heading = name: link: ''<h2><a href=\"${link}\">${name}</a></h2>'';
badge = src: link: ''<a href=\"${link}\">\n <img src=\"${src}\">\n</a>'';
job = name:
badge "https://ci.maralorn.de/badge/${name}.svg"
"https://ci.maralorn.de/jobs/${name}";
badges = lib.concatStringsSep "\\n" [
(heading "ci.maralorn.de" "https://ci.maralorn.de")
(job "kassandra-lib")
(job "kassandra-app")
(job "kassandra-server")
(job "kassandra-android")
(job "test-config")
(job "bump-and-test-config")
(heading "haskell-taskwarrior"
"https://hackage.haskell.org/package/taskwarrior")
(badge "https://img.shields.io/hackage/v/taskwarrior.svg"
"https://hackage.haskell.org/package/taskwarrior")
(badge
"https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fmaralorn%2Fhaskell-taskwarrior%2Fbadge%3Fref%3Dmaster"
"https://actions-badge.atrox.dev/maralorn/haskell-taskwarrior/goto?ref=master")
(badge "https://img.shields.io/hackage-deps/v/taskwarrior.svg"
"http://packdeps.haskellers.com/reverse/taskwarrior")
];
dashboards = pkgs.runCommand "dashboards" { } ''
mkdir -p $out
cp ${./grafana-dashboards}/* $out
substituteInPlace $out/health-status.json --replace '@BADGES@' '${badges}' \
'';
in {
services = {
grafana = {
enable = true;
@ -6,7 +37,7 @@
extraOptions = {
AUTH_BASIC_ENABLED = "false";
DASHBOARDS_DEFAULT_HOME_DASHBOARD_PATH =
"${./grafana-dashboards}/health-status.json";
"${dashboards}/health-status.json";
};
provision = {
enable = true;
@ -18,7 +49,7 @@
}];
dashboards = [{
name = "Static dashboards";
options.path = ./grafana-dashboards;
options.path = dashboards;
}];
};
};