btrbk: add mainProgram (#356350)
[NixPkgs.git] / pkgs / by-name / ku / kubelogin-oidc / package.nix
bloba5fde3f9f365db2e034ca5539ac5dc91b886e688
2   lib,
3   buildGoModule,
4   fetchFromGitHub,
5 }:
7 buildGoModule rec {
8   pname = "kubelogin";
9   version = "1.31.0";
11   src = fetchFromGitHub {
12     owner = "int128";
13     repo = "kubelogin";
14     rev = "v${version}";
15     hash = "sha256-IEKP5mHxJyGzlxNL4h0MR/Ge7g1kKidIjinYr+bL6as=";
16   };
18   subPackages = [ "." ];
19   ldflags = [
20     "-s"
21     "-w"
22     "-X main.version=v${version}"
23   ];
25   vendorHash = "sha256-3hNc16zpazm9YqDx2M/RafCBLev2S8TzJzClGRkKydg=";
27   # test all packages
28   preCheck = ''
29     unset subPackages
30   '';
32   # Rename the binary instead of symlinking to avoid conflict with the
33   # Azure version of kubelogin
34   postInstall = ''
35     mv $out/bin/kubelogin $out/bin/kubectl-oidc_login
36   '';
38   meta = {
39     description = "Kubernetes credential plugin implementing OpenID Connect (OIDC) authentication";
40     mainProgram = "kubectl-oidc_login";
41     inherit (src.meta) homepage;
42     license = lib.licenses.asl20;
43     maintainers = with lib.maintainers; [
44       benley
45       nevivurn
46     ];
47   };