diff --git a/pkgs/applications/networking/cluster/tubekit/default.nix b/pkgs/applications/networking/cluster/tubekit/default.nix new file mode 100644 index 000000000000..f4a051c9adb7 --- /dev/null +++ b/pkgs/applications/networking/cluster/tubekit/default.nix @@ -0,0 +1,26 @@ +{ lib +, buildGoModule +, fetchFromGitHub +}: + +buildGoModule rec { + pname = "tubekit"; + version = "4"; + + src = fetchFromGitHub { + owner = "reconquest"; + repo = "tubekit"; + rev = "refs/tags/v${version}"; + hash = "sha256-sq91uR8ITMOv8hivwKQR02mMlJpjDHw6RxiwVUrpwnY="; + }; + + vendorHash = "sha256-qrGzmr1dZPn5r2WBJA7FT7RTqP2sxnrXgbrnKlnpF0Y="; + + meta = with lib; { + description = "Kubectl alternative with quick context switching"; + homepage = "https://github.com/reconquest/tubekit"; + license = licenses.mit; + platforms = platforms.linux ++ platforms.darwin; + maintainers = with maintainers; [ farcaller ]; + }; +} diff --git a/pkgs/applications/networking/cluster/tubekit/wrapper.nix b/pkgs/applications/networking/cluster/tubekit/wrapper.nix new file mode 100644 index 000000000000..7cba11c97a3a --- /dev/null +++ b/pkgs/applications/networking/cluster/tubekit/wrapper.nix @@ -0,0 +1,17 @@ +{ lib +, runCommand +, makeWrapper +, tubekit-unwrapped +, pname ? "tubekit" +, version ? tubekit-unwrapped.version +, kubectl +}: +runCommand "${pname}-${version}" +{ + inherit pname version; + inherit (tubekit-unwrapped) src meta; + nativeBuildInputs = [ makeWrapper ]; +} '' + mkdir -p $out/bin + makeWrapper ${tubekit-unwrapped}/bin/tubectl $out/bin/tubectl --set-default TUBEKIT_KUBECTL ${kubectl}/bin/kubectl +'' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8ce1229f9db0..9d4585af47c8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -38591,4 +38591,8 @@ with pkgs; jfrog-cli = callPackage ../tools/misc/jfrog-cli { }; ov = callPackage ../tools/text/ov { }; + + tubekit = callPackage ../applications/networking/cluster/tubekit/wrapper.nix { }; + + tubekit-unwrapped = callPackage ../applications/networking/cluster/tubekit { }; }