diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/default.nix')
-rw-r--r-- | nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/default.nix | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/default.nix b/nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/default.nix new file mode 100644 index 000000000000..7975bf514e3c --- /dev/null +++ b/nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/default.nix @@ -0,0 +1,67 @@ +{ lib, mkYarnPackage, fetchFromGitHub, fetchYarnDeps, nodejs, runtimeShell }: + +# Notes for the upgrade: +# * Download the tarball of the new version to use. +# * Replace new `package.json` here. +# * Update `version`+`hash` and rebuild. + +mkYarnPackage rec { + pname = "grafana-image-renderer"; + version = "3.10.0"; + + src = fetchFromGitHub { + owner = "grafana"; + repo = "grafana-image-renderer"; + rev = "v${version}"; + hash = "sha256-fl2vDaGLR2ZlHnljfHYPN0EmbGqJwVs5dBkXRDJ3fM8="; + }; + + offlineCache = fetchYarnDeps { + yarnLock = src + "/yarn.lock"; + hash = "sha256-6x42/UaTNmoglgHDqfa0LjQz8PeOwUVqI5BOEuzdnuM="; + }; + + packageJSON = ./package.json; + + buildPhase = '' + runHook preBuild + + pushd deps/renderer + yarn run build + popd + + runHook postBuild + ''; + + dontInstall = true; + + distPhase = '' + runHook preDist + + shopt -s extglob + + pushd deps/renderer + install_path="$out/libexec/grafana-image-renderer" + mkdir -p $install_path + cp -R ../../node_modules $install_path + cp -R ./!(node_modules) $install_path + popd + + mkdir -p $out/bin + cat >$out/bin/grafana-image-renderer <<EOF + #! ${runtimeShell} + ${nodejs}/bin/node $install_path/build/app.js \$@ + EOF + chmod +x $out/bin/grafana-image-renderer + + runHook postDist + ''; + + meta = with lib; { + homepage = "https://github.com/grafana/grafana-image-renderer"; + description = "A Grafana backend plugin that handles rendering of panels & dashboards to PNGs using headless browser (Chromium/Chrome)"; + license = licenses.asl20; + maintainers = with maintainers; [ ma27 ]; + platforms = platforms.all; + }; +} |