Unverified Commit acd6583f authored by Yongun Seong's avatar Yongun Seong
Browse files

kubectl-oidc-login: drop duplicate package

parent 7be92c53
Loading
Loading
Loading
Loading
+0 −46
Original line number Diff line number Diff line
{
  lib,
  buildGoModule,
  fetchFromGitHub,
  nix-update-script,
  versionCheckHook,
}:

buildGoModule (finalAttrs: {
  pname = "kubectl-oidc-login";
  version = "1.36.0";

  src = fetchFromGitHub {
    owner = "int128";
    repo = "kubelogin";
    tag = "v${finalAttrs.version}";
    hash = "sha256-v6kNz75+xRQHfTfBKpKaNZodQzZNmJiF+WX0wJfGZ2M=";
  };

  vendorHash = "sha256-f9Umpdlb6m38J05CanNJktS1T31SBSy1T1rOCzBUYkQ=";

  ldflags = [
    "-X main.version=${finalAttrs.version}"
  ];

  # Rename output binary to kubectl-<plugin-name> so kubectl recognizes it on $PATH.
  postInstall = ''
    mv $out/bin/{kubelogin,${finalAttrs.meta.mainProgram}}
  '';

  nativeInstallCheckInputs = [ versionCheckHook ];
  doInstallCheck = true;
  passthru.updateScript = nix-update-script { };

  meta = {
    description = "Kubernetes kubelogin plugin to add OpenID Connect authentication to kubectl. Run \"kubectl oidc-login ...\"";
    # Quirk: we have to write "oidc_login" instead of "oidc-login"
    # (at least on Mac "aarch64-darwin" and "x86_64_linux"), otherwise calling
    # "kubectl oidc-login <subcommand>" fails that it can't find the underlying plugin in $PATH.
    mainProgram = "kubectl-oidc_login";
    homepage = "https://github.com/int128/kubelogin";
    changelog = "https://github.com/int128/kubelogin/releases/tag/v${finalAttrs.version}";
    license = lib.licenses.asl20;
    maintainers = [ lib.maintainers.malteneuss ];
  };
})