From 7005cdfa529ce62445a2229632e0d101f7578bf3 Mon Sep 17 00:00:00 2001 From: Jacob Moody Date: Fri, 26 May 2023 20:46:32 -0600 Subject: grafanaPlugins.grafana-clickhouse-datasource: init at 3.1.0 --- .../grafana-clickhouse-datasource/default.nix | 19 +++++++++++++++++++ .../monitoring/grafana/plugins/grafana-plugin.nix | 22 ++++++++++++++-------- .../servers/monitoring/grafana/plugins/plugins.nix | 1 + 3 files changed, 34 insertions(+), 8 deletions(-) create mode 100644 pkgs/servers/monitoring/grafana/plugins/grafana-clickhouse-datasource/default.nix (limited to 'pkgs/servers/monitoring/grafana') diff --git a/pkgs/servers/monitoring/grafana/plugins/grafana-clickhouse-datasource/default.nix b/pkgs/servers/monitoring/grafana/plugins/grafana-clickhouse-datasource/default.nix new file mode 100644 index 000000000000..4d4f0516e304 --- /dev/null +++ b/pkgs/servers/monitoring/grafana/plugins/grafana-clickhouse-datasource/default.nix @@ -0,0 +1,19 @@ +{ grafanaPlugin, lib }: + +grafanaPlugin rec { + pname = "grafana-clickhouse-datasource"; + version = "3.1.0"; + zipHash = { + x86_64-linux = "sha256-x/Uruhk7mhPbsfAcST6tLnxJDd4vlqIkOUI4nAOZN50="; + aarch64-linux = "sha256-nNAIKoXYyhT1fwSB/a+uD1XUe5RxE9MYrbtHHx6T1fI="; + x86_64-darwin = "sha256-u9KRR7k/ktMu1KO5tpN/A+x48yDyXXPEnSNEx0hkT8Y="; + aarch64-darwin = "sha256-ME/LkVXoN1Sp4L3e9qFXgBfa7mCLRyKfEGHiBbaN8iY="; + }; + meta = with lib; { + description = "Connects Grafana to ClickHouse"; + license = licenses.asl20; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + maintainers = with maintainers; [ moody yuka ]; + platforms = attrNames zipHash; + }; +} diff --git a/pkgs/servers/monitoring/grafana/plugins/grafana-plugin.nix b/pkgs/servers/monitoring/grafana/plugins/grafana-plugin.nix index 3b3cee88fd7a..25a381e2a8fa 100644 --- a/pkgs/servers/monitoring/grafana/plugins/grafana-plugin.nix +++ b/pkgs/servers/monitoring/grafana/plugins/grafana-plugin.nix @@ -1,14 +1,20 @@ -{ stdenvNoCC, fetchurl, unzip }: +{ stdenvNoCC, fetchurl, unzip, lib }: { pname, version, zipHash, meta ? {}, passthru ? {}, ... }@args: -stdenvNoCC.mkDerivation ({ +let plat = stdenvNoCC.targetPlatform.system; in stdenvNoCC.mkDerivation ({ inherit pname version; - src = fetchurl { - name = "${pname}-${version}.zip"; - url = "https://grafana.com/api/plugins/${pname}/versions/${version}/download"; - hash = zipHash; - }; + src = (fetchurl { + name = "${pname}-${version}-${plat}.zip"; + hash = if lib.isAttrs zipHash then zipHash.${plat} or (throw "unsupported system") else zipHash; + url = "https://grafana.com/api/plugins/${pname}/versions/${version}/download" + + { + x86_64-linux = "?os=linux&arch=amd64"; + aarch64-linux = "?os=linux&arch=arm64"; + x86_64-darwin = "?os=darwin&arch=amd64"; + aarch64-darwin = "?os=darwin&arch=arm64"; + }.${plat} or (throw "unknown system"); + }); nativeBuildInputs = [ unzip ]; @@ -25,4 +31,4 @@ stdenvNoCC.mkDerivation ({ meta = { homepage = "https://grafana.com/grafana/plugins/${pname}"; } // meta; -} // (builtins.removeAttrs args [ "pname" "version" "sha256" "meta" ])) +} // (builtins.removeAttrs args [ "zipHash" "pname" "version" "sha256" "meta" ])) diff --git a/pkgs/servers/monitoring/grafana/plugins/plugins.nix b/pkgs/servers/monitoring/grafana/plugins/plugins.nix index 163de4c96025..8bbd738f7ab9 100644 --- a/pkgs/servers/monitoring/grafana/plugins/plugins.nix +++ b/pkgs/servers/monitoring/grafana/plugins/plugins.nix @@ -6,6 +6,7 @@ doitintl-bigquery-datasource = callPackage ./doitintl-bigquery-datasource { }; grafadruid-druid-datasource = callPackage ./grafadruid-druid-datasource { }; + grafana-clickhouse-datasource = callPackage ./grafana-clickhouse-datasource { }; grafana-clock-panel = callPackage ./grafana-clock-panel { }; grafana-piechart-panel = callPackage ./grafana-piechart-panel { }; grafana-polystat-panel = callPackage ./grafana-polystat-panel { }; -- cgit 1.4.1