about summary refs log tree commit diff
path: root/pkgs/by-name/ka/karmor/package.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/by-name/ka/karmor/package.nix')
-rw-r--r--pkgs/by-name/ka/karmor/package.nix57
1 files changed, 57 insertions, 0 deletions
diff --git a/pkgs/by-name/ka/karmor/package.nix b/pkgs/by-name/ka/karmor/package.nix
new file mode 100644
index 0000000000000..30e943bd322f8
--- /dev/null
+++ b/pkgs/by-name/ka/karmor/package.nix
@@ -0,0 +1,57 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, installShellFiles
+, testers
+, karmor
+}:
+
+buildGoModule rec {
+  pname = "karmor";
+  version = "1.2.2";
+
+  src = fetchFromGitHub {
+    owner = "kubearmor";
+    repo = "kubearmor-client";
+    rev = "v${version}";
+    hash = "sha256-LdUu56y9jRPFOF/Tfo9GZYmOlZIUs7/byWj2yQw7BE4=";
+  };
+
+  vendorHash = "sha256-r3Fy4nOjlvyHcvztSfOOE6PmOhhNcVdoIq+ie5jqwkw=";
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X=github.com/kubearmor/kubearmor-client/selfupdate.BuildDate=1970-01-01"
+    "-X=github.com/kubearmor/kubearmor-client/selfupdate.GitSummary=${version}"
+  ];
+
+  # integration tests require network access
+  doCheck = false;
+
+  postInstall = ''
+    mv $out/bin/{kubearmor-client,karmor}
+    installShellCompletion --cmd karmor \
+      --bash <($out/bin/karmor completion bash) \
+      --fish <($out/bin/karmor completion fish) \
+      --zsh  <($out/bin/karmor completion zsh)
+  '';
+
+  passthru.tests = {
+    version = testers.testVersion {
+      package = karmor;
+      command = "karmor version || true";
+    };
+  };
+
+  meta = with lib; {
+    description = "A client tool to help manage KubeArmor";
+    mainProgram = "karmor";
+    homepage = "https://kubearmor.io";
+    changelog = "https://github.com/kubearmor/kubearmor-client/releases/v${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ urandom kashw2 ];
+  };
+}