summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorDomen Kožar <domen@enlambda.com>2019-01-20 14:04:41 +0700
committerGitHub <noreply@github.com>2019-01-20 14:04:41 +0700
commit555e7eb37534dd1a19c06d2d5cb9079fa6b11207 (patch)
tree46d78e99f90f45c09c2bcec053a80f4a4ff9f039 /pkgs
parent56507df617ed80045ed212aa963e55c9f4e13a87 (diff)
parent556c4426e8007458d47ba608bad5ef04d401ae53 (diff)
downloadnixpkgs-555e7eb37534dd1a19c06d2d5cb9079fa6b11207.tar
nixpkgs-555e7eb37534dd1a19c06d2d5cb9079fa6b11207.tar.gz
nixpkgs-555e7eb37534dd1a19c06d2d5cb9079fa6b11207.tar.bz2
nixpkgs-555e7eb37534dd1a19c06d2d5cb9079fa6b11207.tar.lz
nixpkgs-555e7eb37534dd1a19c06d2d5cb9079fa6b11207.tar.xz
nixpkgs-555e7eb37534dd1a19c06d2d5cb9079fa6b11207.tar.zst
nixpkgs-555e7eb37534dd1a19c06d2d5cb9079fa6b11207.zip
Merge pull request #54335 from zimbatm/kubectl-small
kubectl: reduce closure size
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/networking/cluster/kubectl/default.nix33
-rw-r--r--pkgs/top-level/all-packages.nix6
2 files changed, 35 insertions, 4 deletions
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 8fd86f6d441..d4354135ba2 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -17930,11 +17930,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 { };