{ lib , buildGoModule , fetchFromGitHub , installShellFiles , testers , karmor }: buildGoModule rec { pname = "karmor"; version = "1.2.0"; src = fetchFromGitHub { owner = "kubearmor"; repo = "kubearmor-client"; rev = "v${version}"; hash = "sha256-hul348zF81oXTcvcfRpNYiiqfocS3HPwcPdXp7Ij91Y="; }; vendorHash = "sha256-CKOZxmUVZWFb7cc+amPwyMv5ScujWeipEqm95m63SYk="; 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 ]; }; }