From c04a0c55d6931f4a66ba387829dc49794ec919ce Mon Sep 17 00:00:00 2001 From: Priya Wadhwa Date: Tue, 11 Feb 2020 10:58:09 -0800 Subject: [PATCH] Separate cached kubernetes binaries by OS on host machine This way, all kubernetes binaries stored in ~/.minikube/cache/linux will be copied over to the VM and used for `minikube kubectl` on linux machines. kubectl will be stored in `~/.minikube/cache/{windows or darwin}` on windows/darwin so that `minikube kubectl` still works. --- pkg/minikube/machine/cache_binaries.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkg/minikube/machine/cache_binaries.go b/pkg/minikube/machine/cache_binaries.go index 86102647ff..ce6ec5494c 100644 --- a/pkg/minikube/machine/cache_binaries.go +++ b/pkg/minikube/machine/cache_binaries.go @@ -21,6 +21,7 @@ import ( "fmt" "os" "path" + "path/filepath" "runtime" "github.com/golang/glog" @@ -63,7 +64,7 @@ func KubernetesReleaseURLSHA1(binaryName, version, osName, archName string) stri // CacheBinary will cache a binary on the host func CacheBinary(binary, version, osName, archName string) (string, error) { - targetDir := localpath.MakeMiniPath("cache", version) + targetDir := localpath.MakeMiniPath(filepath.Join("cache", osName), version) targetFilepath := path.Join(targetDir, binary) url := KubernetesReleaseURL(binary, version, osName, archName)