Unverified Commit 553ecb16 authored by Pol Dellaiera's avatar Pol Dellaiera Committed by GitHub
Browse files

kubelogin-oidc, kubectl-oidc-login: drop duplicate package and merge (#509250)

parents 475a497c c603bd75
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 ];
  };
})
+7 −0
Original line number Diff line number Diff line
@@ -2,6 +2,8 @@
  lib,
  buildGoModule,
  fetchFromGitHub,
  nix-update-script,
  versionCheckHook,
}:

buildGoModule (finalAttrs: {
@@ -35,6 +37,10 @@ buildGoModule (finalAttrs: {
    mv $out/bin/kubelogin $out/bin/kubectl-oidc_login
  '';

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

  meta = {
    description = "Kubernetes credential plugin implementing OpenID Connect (OIDC) authentication";
    mainProgram = "kubectl-oidc_login";
@@ -42,6 +48,7 @@ buildGoModule (finalAttrs: {
    license = lib.licenses.asl20;
    maintainers = with lib.maintainers; [
      benley
      malteneuss
      nevivurn
    ];
  };