diff --git a/pkgs/applications/networking/cluster/kubectl/default.nix b/pkgs/applications/networking/cluster/kubectl/default.nix new file mode 100644 index 00000000000..4dbd3d38d31 --- /dev/null +++ b/pkgs/applications/networking/cluster/kubectl/default.nix @@ -0,0 +1,33 @@ +{ stdenv, lib, kubernetes }: + +stdenv.mkDerivation { + name = "kubectl-${kubernetes.version}"; + + # kubectl is currently part of the main distribution but will eventially be + # split out (see homepage) + src = kubernetes; + + outputs = [ "out" "man" ]; + + doBuild = false; + + installPhase = '' + mkdir -p \ + "$out/bin" \ + "$out/share/bash-completion/completions" \ + "$out/share/zsh/site-functions" \ + "$man/share/man/man1" + + cp bin/kubectl $out/bin/kubectl + + cp "${kubernetes.man}/share/man/man1"/kubectl* "$man/share/man/man1" + + $out/bin/kubectl completion bash > $out/share/bash-completion/completions/kubectl + $out/bin/kubectl completion zsh > $out/share/zsh/site-functions/_kubectl + ''; + + meta = kubernetes.meta // { + description = "Kubernetes CLI"; + homepage = "https://github.com/kubernetes/kubectl"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 25c0457c247..c7f34867309 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17916,11 +17916,9 @@ in kubeval = callPackage ../applications/networking/cluster/kubeval { }; - kubernetes = callPackage ../applications/networking/cluster/kubernetes { }; + kubernetes = callPackage ../applications/networking/cluster/kubernetes { }; - kubectl = (kubernetes.override { components = [ "cmd/kubectl" ]; }).overrideAttrs(oldAttrs: { - name = "kubectl-${oldAttrs.version}"; - }); + kubectl = callPackage ../applications/networking/cluster/kubectl { }; kubernetes-helm = callPackage ../applications/networking/cluster/helm { };