1{
2 lib,
3 buildGoModule,
4 fetchFromGitHub,
5 versionCheckHook,
6}:
7
8buildGoModule rec {
9 pname = "eks-node-viewer";
10 version = "0.7.4";
11
12 src = fetchFromGitHub {
13 owner = "awslabs";
14 repo = "eks-node-viewer";
15 tag = "v${version}";
16 hash = "sha256-VCRwGxH7adwB6p+UCF1GmAa5f/7GgJlJ7GvRSFOlOto=";
17 };
18
19 vendorHash = "sha256-ZBkiiDAcgOkIezDHcDjqJ3w5+k5kXdfw2TCZoTx12hc=";
20
21 excludedPackages = [ "hack" ];
22
23 ldflags = [
24 "-s"
25 "-w"
26 "-X=main.builtBy=nixpkgs"
27 "-X=main.commit=${src.rev}"
28 "-X=main.version=${version}"
29 ];
30
31 nativeInstallCheckInputs = [
32 versionCheckHook
33 ];
34 versionCheckProgramArg = "--version";
35 doInstallCheck = true;
36
37 meta = {
38 description = "Tool to visualize dynamic node usage within a cluster";
39 homepage = "https://github.com/awslabs/eks-node-viewer";
40 changelog = "https://github.com/awslabs/eks-node-viewer/releases/tag/${src.rev}";
41 license = lib.licenses.asl20;
42 maintainers = with lib.maintainers; [ ivankovnatsky ];
43 mainProgram = "eks-node-viewer";
44 };
45}