biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / development / tools / datree / default.nix
blob79e352deb5321bfc1e45eb8153234e854a3e0a5d
1 { lib
2 , buildGoModule
3 , fetchFromGitHub
4 , installShellFiles
5 , testers
6 , datree
7 }:
9 buildGoModule rec {
10   pname = "datree";
11   version = "1.9.19";
13   src = fetchFromGitHub {
14     owner = "datreeio";
15     repo = "datree";
16     rev = "refs/tags/${version}";
17     hash = "sha256-W1eX7eUMdPGbHA/f08xkG2EUeZmaunEAQn7/LRBe2nk=";
18   };
20   vendorHash = "sha256-+PQhuIO4KjXtW/ZcS0OamuOHzK7ZL+nwOBxeCRoXuKE=";
22   nativeBuildInputs = [ installShellFiles ];
24   ldflags = [
25     "-s"
26     "-w"
27     "-X github.com/datreeio/datree/cmd.CliVersion=${version}"
28   ];
30   tags = [ "main" ];
32   postInstall = ''
33     installShellCompletion \
34       --cmd datree \
35       --bash <($out/bin/datree completion bash) \
36       --fish <($out/bin/datree completion fish) \
37       --zsh <($out/bin/datree completion zsh)
38   '';
40   passthru.tests.version = testers.testVersion {
41     package = datree;
42     command = "datree version";
43   };
45   meta = with lib; {
46     description = "CLI tool to ensure K8s manifests and Helm charts follow best practices";
47     mainProgram = "datree";
48     longDescription = ''
49       Datree provides an E2E policy enforcement solution to run automatic checks
50       for rule violations. Datree can be used on the command line, admission
51       webhook, or even as a kubectl plugin to run policies against Kubernetes
52       objects.
53     '';
54     homepage = "https://datree.io/";
55     changelog = "https://github.com/datreeio/datree/releases/tag/${version}";
56     license = licenses.asl20;
57     maintainers = with maintainers; [ azahi jceb ];
58   };