Repository: kubernetes/minikube
Pull request #12972 (2021-11-17 06:33:06)

Fix typo in help text for minikube docker-env command
I noticed that the helper text for the `minikube docker-env` when run on Windows doesn't output commands that you can use without further editing. I've updated output text to include a more complete command.

I also found a duplicated test in the pkg/minikube/shell/shell_test.go for having your shell set to powershell, changed it to be for cmd.

before:
❯ minikube docker-env --shell cmd
SET DOCKER_TLS_VERIFY=1
SET DOCKER_HOST=tcp://127.0.0.1:1041
SET DOCKER_CERT_PATH=C:\Users\mpuck\.minikube\certs
SET MINIKUBE_ACTIVE_DOCKERD=minikube
REM To point your shell to minikube's docker-daemon, run:
REM @FOR /f "tokens=*" %i IN ('minikube -p minikube docker-env') DO @%i

❯ minikube docker-env --shell powershell
$Env:DOCKER_TLS_VERIFY = "1"
$Env:DOCKER_HOST = "tcp://127.0.0.1:1041"
$Env:DOCKER_CERT_PATH = "C:\Users\mpuck\.minikube\certs"
$Env:MINIKUBE_ACTIVE_DOCKERD = "minikube"
\# To point your shell to minikube's docker-daemon, run:
\# & minikube -p minikube docker-env | Invoke-Expression

after:
❯ ./out/minikube docker-env --shell cmd
SET DOCKER_TLS_VERIFY=1
SET DOCKER_HOST=tcp://127.0.0.1:55569
SET DOCKER_CERT_PATH=/Users/marcuspuckett/.minikube/certs
SET MINIKUBE_ACTIVE_DOCKERD=minikube
REM To point your shell to minikube's docker-daemon, run:
REM @FOR /f "tokens=*" %i IN ('minikube -p minikube docker-env --shell cmd') DO @%i

minikube on 🌱master [!+] via 🐹 v1.16.3 
❯ ./out/minikube docker-env --shell powershell
$Env:DOCKER_TLS_VERIFY = "1"
$Env:DOCKER_HOST = "tcp://127.0.0.1:55569"
$Env:DOCKER_CERT_PATH = "/Users/marcuspuckett/.minikube/certs"
$Env:MINIKUBE_ACTIVE_DOCKERD = "minikube"
\# To point your shell to minikube's docker-daemon, run:
\# & minikube -p minikube docker-env --shell powershell | Invoke-Expression

linux-foundation-easycla[bot]: <a href="https://api.easycla.lfx.linuxfoundation.org/v2/repository-provider/github/sign/18706487/56353740/12972/#/?version=2"><img src="https://s3.amazonaws.com/cla-project-logo-prod/cla-not-signed.svg" alt="CLA Not Signed" align="left" height="28" width="328" ></a><br/><br /><ul><li><a href='https://api.easycla.lfx.linuxfoundation.org/v2/repository-provider/github/sign/18706487/56353740/12972/#/?version=2' target='_blank'>:x:</a> - Marcus Puckett The commit (cd8146c58f3ca77b9e9f1530f9776569fbefb605) is not authorized under a signed CLA. <a href='https://api.easycla.lfx.linuxfoundation.org/v2/repository-provider/github/sign/18706487/56353740/12972/#/?version=2' target='_blank'>Please click here to be authorized</a>. For further assistance with EasyCLA, <a href='https://jira.linuxfoundation.org/servicedesk/customer/portal/4' target='_blank'>please submit a support request ticket</a>.</li></ul>
k8s-ci-robot: @mpuckett159: PR needs rebase.

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
</details>
k8s-ci-robot: Hi @mpuckett159. Thanks for your PR.

I'm waiting for a [kubernetes](https://github.com/orgs/kubernetes/people) member to verify that this patch is reasonable to test. If it is, they should reply with `/ok-to-test` on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should [join the org](https://git.k8s.io/community/community-membership.md#member) to skip this step.

Once the patch is verified, the new status will be reflected by the `ok-to-test` label.

I understand the commands that are listed [here](https://go.k8s.io/bot-commands?repo=kubernetes%2Fminikube).

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
</details>

k8s-ci-robot: [APPROVALNOTIFIER] This PR is **NOT APPROVED**

This pull-request has been approved by: *<a href="https://github.com/kubernetes/minikube/pull/12972#" title="Author self-approved">mpuckett159</a>*
To complete the [pull request process](https://git.k8s.io/community/contributors/guide/owners.md#the-code-review-process), please assign **prezha** after the PR has been reviewed.
You can assign the PR to them by writing `/assign @prezha` in a comment when ready.

The full list of commands accepted by this bot can be found [here](https://go.k8s.io/bot-commands?repo=kubernetes%2Fminikube).

<details open>
Needs approval from an approver in each of these files:

- **[OWNERS](https://github.com/kubernetes/minikube/blob/master/OWNERS)**

Approvers can indicate their approval by writing `/approve` in a comment
Approvers can cancel approval by writing `/approve cancel` in a comment
</details>
<!-- META={"approvers":["prezha"]} -->
minikube-bot: Can one of the admins verify this patch?

Patch:
diff --git a/cmd/minikube/cmd/config/configure.go b/cmd/minikube/cmd/config/configure.go
index baa1237df..9dfa7a163 100644
--- a/cmd/minikube/cmd/config/configure.go
+++ b/cmd/minikube/cmd/config/configure.go
@@ -32,9 +32,6 @@ import (
 	"k8s.io/minikube/pkg/minikube/style"
 )
 
-var posResponses = []string{"yes", "y"}
-var negResponses = []string{"no", "n"}
-
 var addonsConfigureCmd = &cobra.Command{
 	Use:   "configure ADDON_NAME",
 	Short: "Configures the addon w/ADDON_NAME within minikube (example: minikube addons configure registry-creds). For a list of available addons use: minikube addons list",
@@ -48,6 +45,8 @@ var addonsConfigureCmd = &cobra.Command{
 		// allows for additional prompting of information when enabling addons
 		switch addon {
 		case "registry-creds":
+			posResponses := []string{"yes", "y"}
+			negResponses := []string{"no", "n"}
 
 			// Default values
 			awsAccessID := "changeme"
@@ -221,16 +220,10 @@ var addonsConfigureCmd = &cobra.Command{
 				return format.MatchString(s)
 			}
 
-			customCert := AskForStaticValidatedValue("-- Enter custom cert (format is \"namespace/secret\"): ", validator)
-			if cfg.KubernetesConfig.CustomIngressCert != "" {
-				overwrite := AskForYesNoConfirmation("A custom cert for ingress has already been set. Do you want overwrite it?", posResponses, negResponses)
-				if !overwrite {
-					break
-				}
+			if cfg.KubernetesConfig.CustomIngressCert == "" {
+				cfg.KubernetesConfig.CustomIngressCert = AskForStaticValidatedValue("-- Enter custom cert(format is \"namespace/secret\"): ", validator)
 			}
 
-			cfg.KubernetesConfig.CustomIngressCert = customCert
-
 			if err := config.SaveProfile(profile, cfg); err != nil {
 				out.ErrT(style.Fatal, "Failed to save config {{.profile}}", out.V{"profile": profile})
 			}
diff --git a/cmd/minikube/cmd/root.go b/cmd/minikube/cmd/root.go
index 47a91848c..785a2db36 100644
--- a/cmd/minikube/cmd/root.go
+++ b/cmd/minikube/cmd/root.go
@@ -107,9 +107,7 @@ func Execute() {
 		profile := ""
 		for i, a := range os.Args {
 			if a == "--context" {
-				if len(os.Args) > i+1 {
-					profile = fmt.Sprintf("--profile=%s", os.Args[i+1])
-				}
+				profile = fmt.Sprintf("--profile=%s", os.Args[i+1])
 				break
 			} else if strings.HasPrefix(a, "--context=") {
 				context := strings.Split(a, "=")[1]
diff --git a/cmd/minikube/cmd/start.go b/cmd/minikube/cmd/start.go
index 492b0d0c3..4e6783a15 100644
--- a/cmd/minikube/cmd/start.go
+++ b/cmd/minikube/cmd/start.go
@@ -432,26 +432,13 @@ func displayEnviron(env []string) {
 	}
 }
 
-func showKubectlInfo(kcs *kubeconfig.Settings, k8sVersion, machineName string) error {
+func showKubectlInfo(kcs *kubeconfig.Settings, k8sVersion string, machineName string) error {
 	if k8sVersion == constants.NoKubernetesVersion {
 		register.Reg.SetStep(register.Done)
 		out.Step(style.Ready, "Done! minikube is ready without Kubernetes!")
-
-		// Runtime message.
-		boxConfig := box.Config{Py: 1, Px: 4, Type: "Round", Color: "Green"}
-		switch viper.GetString(containerRuntime) {
-		case constants.DefaultContainerRuntime:
-			out.BoxedWithConfig(boxConfig, style.Tip, "Things to try without Kubernetes ...", `- "minikube ssh" to SSH into minikube's node.
+		out.BoxedWithConfig(box.Config{Py: 1, Px: 4, Type: "Round", Color: "Green"}, style.Tip, "Things to try without Kubernetes ...", `- "minikube ssh" to SSH into minikube's node.
 - "minikube docker-env" to point your docker-cli to the docker inside minikube.
 - "minikube image" to build images without docker.`)
-		case constants.Containerd:
-			out.BoxedWithConfig(boxConfig, style.Tip, "Things to try without Kubernetes ...", `- "minikube ssh" to SSH into minikube's node.
-- "minikube image" to build images without docker.`)
-		case constants.CRIO:
-			out.BoxedWithConfig(boxConfig, style.Tip, "Things to try without Kubernetes ...", `- "minikube ssh" to SSH into minikube's node.
-- "minikube podman-env" to point your podman-cli to the podman inside minikube.
-- "minikube image" to build images without docker.`)
-		}
 		return nil
 	}
 
@@ -1126,10 +1113,6 @@ func validateFlags(cmd *cobra.Command, drvName string) {
 
 	validateCPUCount(drvName)
 
-	if drvName == driver.None && viper.GetBool(noKubernetes) {
-		exit.Message(reason.Usage, "Cannot use the option --no-kubernetes on the {{.name}} driver", out.V{"name": drvName})
-	}
-
 	if cmd.Flags().Changed(memory) {
 		validateChangedMemoryFlags(drvName)
 	}
diff --git a/cmd/minikube/cmd/start_flags.go b/cmd/minikube/cmd/start_flags.go
index 9f79c9861..2b9289bc2 100644
--- a/cmd/minikube/cmd/start_flags.go
+++ b/cmd/minikube/cmd/start_flags.go
@@ -509,8 +509,9 @@ func generateNewConfigFromFlags(cmd *cobra.Command, k8sVersion string, drvName s
 			exit.Message(reason.Usage, "Ensure your {{.driver_name}} is running and is healthy.", out.V{"driver_name": driver.FullName(drvName)})
 		}
 		if si.Rootless {
-			if cc.KubernetesConfig.ContainerRuntime == "docker" {
-				exit.Message(reason.Usage, "--container-runtime must be set to \"containerd\" or \"cri-o\" for rootless")
+			if cc.KubernetesConfig.ContainerRuntime != "containerd" {
+				exit.Message(reason.Usage, "Container runtime must be set to \"containerd\" for rootless")
+				// TODO: support cri-o (https://kubernetes.io/docs/tasks/administer-cluster/kubelet-in-userns/#configuring-cri)
 			}
 			// KubeletInUserNamespace feature gate is essential for rootless driver.
 			// See https://kubernetes.io/docs/tasks/administer-cluster/kubelet-in-userns/
@@ -690,11 +691,6 @@ func updateExistingConfigFromFlags(cmd *cobra.Command, existing *config.ClusterC
 		cc.KicBaseImage = viper.GetString(kicBaseImage)
 	}
 
-	// If this cluster was stopped by a scheduled stop, clear the config
-	if cc.ScheduledStop != nil && time.Until(time.Unix(cc.ScheduledStop.InitiationTime, 0).Add(cc.ScheduledStop.Duration)) <= 0 {
-		cc.ScheduledStop = nil
-	}
-
 	return cc
 }
 
diff --git a/deploy/addons/kubevirt/pod.yaml.tmpl b/deploy/addons/kubevirt/pod.yaml.tmpl
index e36be749a..ae575b783 100644
--- a/deploy/addons/kubevirt/pod.yaml.tmpl
+++ b/deploy/addons/kubevirt/pod.yaml.tmpl
@@ -10,47 +10,29 @@ data:
   uninstall.sh: |
     #!/bin/bash
 
-    kubectl delete kubevirt kubevirt -n kubevirt
+    kubectl delete -f /manifests/kubevirt.yaml
 
-    kubectl delete -f /manifests/kubevirt-operator.yaml
+    kubectl delete -f /manifests/kubevirt-base.yaml
 
   install.sh: |
     #!/bin/bash
 
     export KUBEVIRT_VERSION=$(curl -s https://api.github.com/repos/kubevirt/kubevirt/releases | grep tag_name | grep -v -- - | sort -V | tail -1 | awk -F':' '{print $2}' | sed 's/,//' | xargs)
-    echo "Installing KubeVirt version: $KUBEVIRT_VERSION"
+    echo $KUBEVIRT_VERSION
 
-    curl -Ls "https://github.com/kubevirt/kubevirt/releases/download/${KUBEVIRT_VERSION}/kubevirt-operator.yaml" -o /manifests/kubevirt-operator.yaml
-    kubectl create -f /manifests/kubevirt-operator.yaml
+    curl -Ls "https://github.com/kubevirt/kubevirt/releases/download/${KUBEVIRT_VERSION}/kubevirt-operator.yaml" -o /manifests/kubevirt-base.yaml
 
-    HARDWARE_EMULATION=$(egrep 'svm|vmx' /proc/cpuinfo)
-    if [ -z "$HARDWARE_EMULATION" ]; then
-      echo "Using software emulation"
+    kubectl create -f /manifests/kubevirt-base.yaml
 
-      echo "
-    apiVersion: kubevirt.io/v1
-    kind: KubeVirt
-    metadata:
-      name: kubevirt
-      namespace: kubevirt
-    spec:
-      configuration:
-        developerConfiguration:
-          useEmulation: true
-    " | kubectl apply -f -
+    EMULATION=$(egrep 'svm|vmx' /proc/cpuinfo)
+    if [ -z "$EMULATION" ]; then
+      echo "use emulation"
+      kubectl create configmap kubevirt-config -n kubevirt --from-literal debug.useEmulation=true
+    fi;
 
-    else
+    curl -sL "https://github.com/kubevirt/kubevirt/releases/download/${KUBEVIRT_VERSION}/kubevirt-cr.yaml" -o /manifests/kubevirt.yaml
 
-      echo "
-    apiVersion: kubevirt.io/v1
-    kind: KubeVirt
-    metadata:
-      name: kubevirt
-      namespace: kubevirt
-    spec: {}
-    " | kubectl apply -f -
-
-    fi
+    kubectl create -f /manifests/kubevirt.yaml
 
     sleep infinity
 ---
diff --git a/go.mod b/go.mod
index 07bf7b279..30e3e4bd2 100644
--- a/go.mod
+++ b/go.mod
@@ -8,13 +8,13 @@ require (
 	github.com/Delta456/box-cli-maker/v2 v2.2.2
 	github.com/GoogleCloudPlatform/docker-credential-gcr v0.0.0-20210713212222-faed5e8b8ca2
 	github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v0.16.0
-	github.com/Microsoft/hcsshim v0.8.21 // indirect
+	github.com/Microsoft/hcsshim v0.8.17 // indirect
 	github.com/Parallels/docker-machine-parallels/v2 v2.0.1
 	github.com/VividCortex/godaemon v1.0.0
 	github.com/blang/semver/v4 v4.0.0
 	github.com/briandowns/spinner v1.11.1
 	github.com/c4milo/gotoolkit v0.0.0-20190525173301-67483a18c17a // indirect
-	github.com/cenkalti/backoff/v4 v4.1.2
+	github.com/cenkalti/backoff/v4 v4.1.1
 	github.com/cheggaaa/pb/v3 v3.0.8
 	github.com/cloudevents/sdk-go/v2 v2.6.1
 	github.com/cloudfoundry-attic/jibber_jabber v0.0.0-20151120183258-bcc4c8345a21
@@ -25,7 +25,7 @@ require (
 	github.com/elazarl/goproxy v0.0.0-20210110162100-a92cc753f88e
 	github.com/golang-collections/collections v0.0.0-20130729185459-604e922904d3
 	github.com/google/go-cmp v0.5.6
-	github.com/google/go-containerregistry v0.7.0
+	github.com/google/go-containerregistry v0.6.0
 	github.com/google/go-github/v36 v36.0.0
 	github.com/google/slowjam v1.0.0
 	github.com/google/uuid v1.3.0
@@ -57,7 +57,7 @@ require (
 	github.com/moby/sys/mount v0.2.0 // indirect
 	github.com/olekukonko/tablewriter v0.0.5
 	github.com/opencontainers/go-digest v1.0.0
-	github.com/otiai10/copy v1.7.0
+	github.com/otiai10/copy v1.6.0
 	github.com/pborman/uuid v1.2.1
 	github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2
 	github.com/pkg/browser v0.0.0-20160118053552-9302be274faa
@@ -80,9 +80,9 @@ require (
 	golang.org/x/crypto v0.0.0-20210817164053-32db794688a5
 	golang.org/x/exp v0.0.0-20210220032938-85be41e4509f
 	golang.org/x/mod v0.5.1
-	golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8
+	golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1
 	golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
-	golang.org/x/sys v0.0.0-20211110154304-99a53858aa08
+	golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359
 	golang.org/x/term v0.0.0-20210406210042-72f3dc4e9b72
 	golang.org/x/text v0.3.7
 	gonum.org/v1/plot v0.10.0
@@ -104,7 +104,7 @@ require (
 	cloud.google.com/go/trace v1.0.0 // indirect
 	github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 // indirect
 	github.com/MakeNowJust/heredoc v0.0.0-20170808103936-bb23615498cd // indirect
-	github.com/Microsoft/go-winio v0.5.1 // indirect
+	github.com/Microsoft/go-winio v0.5.0 // indirect
 	github.com/StackExchange/wmi v1.2.1 // indirect
 	github.com/VividCortex/ewma v1.1.1 // indirect
 	github.com/ajstarks/svgo v0.0.0-20210923152817-c3b6e2f0c527 // indirect
@@ -112,19 +112,20 @@ require (
 	github.com/beorn7/perks v1.0.1 // indirect
 	github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect
 	github.com/census-instrumentation/opencensus-proto v0.3.0 // indirect
+	github.com/cespare/xxhash v1.1.0 // indirect
 	github.com/cespare/xxhash/v2 v2.1.1 // indirect
-	github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4 // indirect
-	github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1 // indirect
+	github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403 // indirect
+	github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed // indirect
 	github.com/containerd/cgroups v1.0.1 // indirect
-	github.com/containerd/containerd v1.5.7 // indirect
-	github.com/containerd/stargz-snapshotter/estargz v0.10.0 // indirect
-	github.com/cpuguy83/go-md2man/v2 v2.0.1 // indirect
+	github.com/containerd/containerd v1.5.2 // indirect
+	github.com/containerd/stargz-snapshotter/estargz v0.7.0 // indirect
+	github.com/cpuguy83/go-md2man/v2 v2.0.0 // indirect
 	github.com/davecgh/go-spew v1.1.1 // indirect
-	github.com/docker/cli v20.10.10+incompatible // indirect
+	github.com/docker/cli v20.10.7+incompatible // indirect
 	github.com/docker/distribution v2.7.1+incompatible // indirect
-	github.com/docker/docker-credential-helpers v0.6.4 // indirect
+	github.com/docker/docker-credential-helpers v0.6.3 // indirect
 	github.com/docker/go-connections v0.4.0 // indirect
-	github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021 // indirect
+	github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0 // indirect
 	github.com/envoyproxy/protoc-gen-validate v0.1.0 // indirect
 	github.com/evanphx/json-patch v4.9.0+incompatible // indirect
 	github.com/fatih/color v1.10.0 // indirect
@@ -139,6 +140,7 @@ require (
 	github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect
 	github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e // indirect
 	github.com/golang/protobuf v1.5.2 // indirect
+	github.com/golang/snappy v0.0.3 // indirect
 	github.com/google/go-querystring v1.0.0 // indirect
 	github.com/google/gofuzz v1.1.0 // indirect
 	github.com/googleapis/gax-go/v2 v2.1.1 // indirect
@@ -148,11 +150,11 @@ require (
 	github.com/hashicorp/go-safetemp v1.0.0 // indirect
 	github.com/hashicorp/go-version v1.2.1 // indirect
 	github.com/hashicorp/hcl v1.0.0 // indirect
-	github.com/imdario/mergo v0.3.12 // indirect
+	github.com/imdario/mergo v0.3.11 // indirect
 	github.com/inconshreveable/mousetrap v1.0.0 // indirect
 	github.com/jmespath/go-jmespath v0.4.0 // indirect
 	github.com/json-iterator/go v1.1.11 // indirect
-	github.com/klauspost/compress v1.13.6 // indirect
+	github.com/klauspost/compress v1.13.0 // indirect
 	github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect
 	github.com/magiconair/properties v1.8.5 // indirect
 	github.com/mattn/go-colorable v0.1.8 // indirect
@@ -168,8 +170,8 @@ require (
 	github.com/moby/term v0.0.0-20201216013528-df9cb8a40635 // indirect
 	github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
 	github.com/modern-go/reflect2 v1.0.1 // indirect
-	github.com/opencontainers/image-spec v1.0.2-0.20210730191737-8e42a01fb1b7 // indirect
-	github.com/opencontainers/runc v1.0.2 // indirect
+	github.com/opencontainers/image-spec v1.0.1 // indirect
+	github.com/opencontainers/runc v1.0.0-rc95 // indirect
 	github.com/pelletier/go-toml v1.9.4 // indirect
 	github.com/prometheus/client_golang v1.7.1 // indirect
 	github.com/prometheus/client_model v0.2.0 // indirect
@@ -185,7 +187,6 @@ require (
 	github.com/tklauser/go-sysconf v0.3.9 // indirect
 	github.com/tklauser/numcpus v0.3.0 // indirect
 	github.com/ulikunitz/xz v0.5.8 // indirect
-	github.com/vbatts/tar-split v0.11.2 // indirect
 	github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect
 	github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
 	github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778 // indirect
@@ -194,12 +195,12 @@ require (
 	go.uber.org/multierr v1.6.0 // indirect
 	go.uber.org/zap v1.17.0 // indirect
 	golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d // indirect
-	golang.org/x/net v0.0.0-20211111160137-58aab5ef257a // indirect
+	golang.org/x/net v0.0.0-20210525063256-abc453219eb5 // indirect
 	golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba // indirect
 	golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
 	google.golang.org/appengine v1.6.7 // indirect
-	google.golang.org/genproto v0.0.0-20211111162719-482062a4217b // indirect
-	google.golang.org/grpc v1.42.0 // indirect
+	google.golang.org/genproto v0.0.0-20211021150943-2b146023228c // indirect
+	google.golang.org/grpc v1.40.0 // indirect
 	google.golang.org/protobuf v1.27.1 // indirect
 	gopkg.in/inf.v0 v0.9.1 // indirect
 	gopkg.in/ini.v1 v1.63.2 // indirect
diff --git a/go.sum b/go.sum
index cf9bb12e6..c3363d4a7 100644
--- a/go.sum
+++ b/go.sum
@@ -95,8 +95,8 @@ github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugX
 github.com/Microsoft/go-winio v0.4.17-0.20210211115548-6eac466e5fa3/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84=
 github.com/Microsoft/go-winio v0.4.17-0.20210324224401-5516f17a5958/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84=
 github.com/Microsoft/go-winio v0.4.17/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84=
-github.com/Microsoft/go-winio v0.5.1 h1:aPJp2QD7OOrhO5tQXqQoGSJc+DjDtWTGLOmNyAm6FgY=
-github.com/Microsoft/go-winio v0.5.1/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84=
+github.com/Microsoft/go-winio v0.5.0 h1:Elr9Wn+sGKPlkaBvwu4mTrxtmOp3F3yV9qhaHbXGjwU=
+github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84=
 github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg=
 github.com/Microsoft/hcsshim v0.8.7-0.20190325164909-8abdbb8205e4/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg=
 github.com/Microsoft/hcsshim v0.8.7/go.mod h1:OHd7sQqRFrYd3RmSgbgji+ctCwkbq2wbEYNSzOYtcBQ=
@@ -105,12 +105,13 @@ github.com/Microsoft/hcsshim v0.8.10-0.20200715222032-5eafd1556990/go.mod h1:ay/
 github.com/Microsoft/hcsshim v0.8.14/go.mod h1:NtVKoYxQuTLx6gEq0L96c9Ju4JbRJ4nY2ow3VK6a9Lg=
 github.com/Microsoft/hcsshim v0.8.15/go.mod h1:x38A4YbHbdxJtc0sF6oIz+RG0npwSCAvn69iY6URG00=
 github.com/Microsoft/hcsshim v0.8.16/go.mod h1:o5/SZqmR7x9JNKsW3pu+nqHm0MF8vbA+VxGOoXdC600=
-github.com/Microsoft/hcsshim v0.8.21 h1:btRfUDThBE5IKcvI8O8jOiIkujUsAMBSRsYDYmEi6oM=
-github.com/Microsoft/hcsshim v0.8.21/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4=
+github.com/Microsoft/hcsshim v0.8.17 h1:yFHH5bghP9ij5Y34PPaMOE8g//oXZ0uJQeMENVo2zcI=
+github.com/Microsoft/hcsshim v0.8.17/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4=
 github.com/Microsoft/hcsshim/test v0.0.0-20201218223536-d3e5debf77da/go.mod h1:5hlzMzRKMLyo42nCZ9oml8AdTlq/0cvIaBv6tK1RehU=
 github.com/Microsoft/hcsshim/test v0.0.0-20210227013316-43a75bb4edd3/go.mod h1:mw7qgWloBUl75W/gVH3cQszUg1+gUITj7D6NY7ywVnY=
 github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=
 github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c=
+github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE=
 github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
 github.com/Parallels/docker-machine-parallels/v2 v2.0.1 h1:3Rj+4tcm/UqMU5g2bLJmpxD0ssn1BB5am4Cd6yUDbVI=
 github.com/Parallels/docker-machine-parallels/v2 v2.0.1/go.mod h1:NKwI5KryEmEHMZVj80t9JQcfXWZp4/ZYNBuw4C5sQ9E=
@@ -162,7 +163,6 @@ github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d/go.mod h1:6QX/PXZ
 github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
 github.com/bifurcation/mint v0.0.0-20180715133206-93c51c6ce115/go.mod h1:zVt7zX3K/aDCk9Tj+VM7YymsX66ERvzCJzw8rFCX2JU=
 github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA=
-github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA=
 github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84=
 github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM=
 github.com/blang/semver v3.1.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
@@ -186,8 +186,8 @@ github.com/c4milo/gotoolkit v0.0.0-20190525173301-67483a18c17a/go.mod h1:txokOny
 github.com/caddyserver/caddy v1.0.3/go.mod h1:G+ouvOY32gENkJC+jhgl62TyhvqEsFaDiZ4uw0RzP1E=
 github.com/cenkalti/backoff v2.1.1+incompatible h1:tKJnvO2kl0zmb/jA5UKAt4VoEVw1qxKWjE/Bpp46npY=
 github.com/cenkalti/backoff v2.1.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM=
-github.com/cenkalti/backoff/v4 v4.1.2 h1:6Yo7N8UP2K6LWZnW94DLVSSrbobcWdVzAYOisuDPIFo=
-github.com/cenkalti/backoff/v4 v4.1.2/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw=
+github.com/cenkalti/backoff/v4 v4.1.1 h1:G2HAfAmvm/GcKan2oOQpBXOd2tT2G57ZnZGWa1PxPBQ=
+github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw=
 github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
 github.com/census-instrumentation/opencensus-proto v0.3.0 h1:t/LhUZLVitR1Ow2YOnduCsavhwFUklBMoGVYUCqmCqk=
 github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
@@ -211,7 +211,6 @@ github.com/cilium/ebpf v0.0.0-20200702112145-1c8d4c9ef775/go.mod h1:7cR51M8ViRLI
 github.com/cilium/ebpf v0.2.0/go.mod h1:To2CFviqOWL/M0gIMsvSMlqe7em/l1ALkX1PyjrX2Qs=
 github.com/cilium/ebpf v0.4.0/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs=
 github.com/cilium/ebpf v0.5.0/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs=
-github.com/cilium/ebpf v0.6.2/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs=
 github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
 github.com/cloudevents/sdk-go/v2 v2.6.1 h1:yHtzgmeBvc0TZx1nrnvYXov1CSvkQyvhEhNMs8Z5Mmk=
 github.com/cloudevents/sdk-go/v2 v2.6.1/go.mod h1:nlXhgFkf0uTopxmRXalyMwS2LG70cRGPrxzmjJgSG0U=
@@ -222,14 +221,10 @@ github.com/cloudfoundry/jibber_jabber v0.0.0-20151120183258-bcc4c8345a21/go.mod
 github.com/clusterhq/flocker-go v0.0.0-20160920122132-2b8b7259d313/go.mod h1:P1wt9Z3DP8O6W3rvwCt0REIlshg1InHImaLW0t3ObY0=
 github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
 github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
+github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403 h1:cqQfy1jclcSy/FwLjemeg3SR1yaINm74aQyupQ0Bl8M=
 github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
-github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4 h1:hzAQntlaYRkVSFEfj9OTWlVV1H155FMD8BTKktLv0QI=
-github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI=
+github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed h1:OZmjad4L3H8ncOIR8rnb5MREYqG8ixi5+WbeUsquF0c=
 github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
-github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
-github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
-github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1 h1:zH8ljVhhq7yC0MIeUL/IviMtY8hx2mK8cN9wEYb8ggw=
-github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
 github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8=
 github.com/container-storage-interface/spec v1.3.0/go.mod h1:6URME8mwIBbpVyZV93Ce5St17xBiQJQY67NDsuohiy4=
 github.com/containerd/aufs v0.0.0-20200908144142-dab0cbea06f4/go.mod h1:nukgQABAEopAHvB6j7cnP5zJ+/3aVcE7hCYqvIwAHyE=
@@ -266,8 +261,8 @@ github.com/containerd/containerd v1.5.0-beta.3/go.mod h1:/wr9AVtEM7x9c+n0+stptlo
 github.com/containerd/containerd v1.5.0-beta.4/go.mod h1:GmdgZd2zA2GYIBZ0w09ZvgqEq8EfBp/m3lcVZIvPHhI=
 github.com/containerd/containerd v1.5.0-rc.0/go.mod h1:V/IXoMqNGgBlabz3tHD2TWDoTJseu1FGOKuoA4nNb2s=
 github.com/containerd/containerd v1.5.1/go.mod h1:0DOxVqwDy2iZvrZp2JUx/E+hS0UNTVn7dJnIOwtYR4g=
-github.com/containerd/containerd v1.5.7 h1:rQyoYtj4KddB3bxG6SAqd4+08gePNyJjRqvOIfV3rkM=
-github.com/containerd/containerd v1.5.7/go.mod h1:gyvv6+ugqY25TiXxcZC3L5yOeYgEw0QMhscqVp1AR9c=
+github.com/containerd/containerd v1.5.2 h1:MG/Bg1pbmMb61j3wHCFWPxESXHieiKr2xG64px/k8zQ=
+github.com/containerd/containerd v1.5.2/go.mod h1:0DOxVqwDy2iZvrZp2JUx/E+hS0UNTVn7dJnIOwtYR4g=
 github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y=
 github.com/containerd/continuity v0.0.0-20190815185530-f2a389ac0a02/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y=
 github.com/containerd/continuity v0.0.0-20191127005431-f65d91d395eb/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y=
@@ -296,8 +291,8 @@ github.com/containerd/imgcrypt v1.1.1/go.mod h1:xpLnwiQmEUJPvQoAapeb2SNCxz7Xr6PJ
 github.com/containerd/nri v0.0.0-20201007170849-eb1350a75164/go.mod h1:+2wGSDGFYfE5+So4M5syatU0N0f0LbWpuqyMi4/BE8c=
 github.com/containerd/nri v0.0.0-20210316161719-dbaa18c31c14/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY=
 github.com/containerd/nri v0.1.0/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY=
-github.com/containerd/stargz-snapshotter/estargz v0.10.0 h1:glqzafvxBBAMo+x2w2sdDjUDZeTqqLJmqZPY05qehCU=
-github.com/containerd/stargz-snapshotter/estargz v0.10.0/go.mod h1:aE5PCyhFMwR8sbrErO5eM2GcvkyXTTJremG883D4qF0=
+github.com/containerd/stargz-snapshotter/estargz v0.7.0 h1:1d/rydzTywc76lnjJb6qbPCiTiCwts49AzKps/Ecblw=
+github.com/containerd/stargz-snapshotter/estargz v0.7.0/go.mod h1:83VWDqHnurTKliEB0YvWMiCfLDwv4Cjj1X9Vk98GJZw=
 github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o=
 github.com/containerd/ttrpc v0.0.0-20190828172938-92c8520ef9f8/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o=
 github.com/containerd/ttrpc v0.0.0-20191028202541-4f1b8fe65a5c/go.mod h1:LPm1u0xBw8r8NOKoOdNMeVHSawSsltak+Ihv+etqsE8=
@@ -340,9 +335,8 @@ github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSV
 github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
 github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
 github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
+github.com/cpuguy83/go-md2man/v2 v2.0.0 h1:EoUDS0afbrsXAZ9YQ9jdu/mZ2sXgT1/2yyNng4PGlyM=
 github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
-github.com/cpuguy83/go-md2man/v2 v2.0.1 h1:r/myEWzV9lfsM1tFLgDyu0atFtJ1fXn261LKYj/3DxU=
-github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
 github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
 github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
 github.com/creack/pty v1.1.11 h1:07n33Z8lZxZ2qwegKbObQohDhXDQxiMMz1NOUGYlesw=
@@ -352,7 +346,6 @@ github.com/d2g/dhcp4 v0.0.0-20170904100407-a1d1b6c41b1c/go.mod h1:Ct2BUK8SB0YC1S
 github.com/d2g/dhcp4client v1.0.0/go.mod h1:j0hNfjhrt2SxUOw55nL0ATM/z4Yt3t2Kd1mW34z5W5s=
 github.com/d2g/dhcp4server v0.0.0-20181031114812-7d4a0a7f59a5/go.mod h1:Eo87+Kg/IX2hfWJfwxMzLyuSZyxSoAug2nGa1G2QAi8=
 github.com/d2g/hardwareaddr v0.0.0-20190221164911-e7d9fbe030e4/go.mod h1:bMl4RjIciD2oAxI7DmWRx6gbeqrkoLqv3MV0vzNad+I=
-github.com/danieljoos/wincred v1.1.0/go.mod h1:XYlo+eRTsVA9aHGp7NGjFkPla4m+DCL7hqDjlFjiygg=
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
 github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@@ -362,8 +355,8 @@ github.com/dgrijalva/jwt-go v0.0.0-20170104182250-a601269ab70c/go.mod h1:E3ru+11
 github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
 github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
 github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E=
-github.com/docker/cli v20.10.10+incompatible h1:kcbwdgWbrBOH8QwQzaJmyriHwF7XIl4HT1qh0HTRys4=
-github.com/docker/cli v20.10.10+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
+github.com/docker/cli v20.10.7+incompatible h1:pv/3NqibQKphWZiAskMzdz8w0PRbtTaEB+f6NwdU7Is=
+github.com/docker/cli v20.10.7+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
 github.com/docker/distribution v0.0.0-20190905152932-14b96e55d84c/go.mod h1:0+TTO4EOBfRPhZXAeF1Vu+W3hHZ8eLp8PgKVZlcvtFY=
 github.com/docker/distribution v2.7.1-0.20190205005809-0d3efadf0154+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
 github.com/docker/distribution v2.7.1+incompatible h1:a5mlkVzth6W5A4fOsS3D2EO5BUmsJpcB+cRlLU7cSug=
@@ -371,10 +364,11 @@ github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4Kfc
 github.com/docker/docker v17.12.0-ce-rc1.0.20181225093023-5ddb1d410a8b+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
 github.com/docker/docker v17.12.0-ce-rc1.0.20190115220918-5ec31380a5d3+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
 github.com/docker/docker v20.10.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
+github.com/docker/docker v20.10.7+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
 github.com/docker/docker v20.10.10+incompatible h1:GKkP0T7U4ks6X3lmmHKC2QDprnpRJor2Z5a8m62R9ZM=
 github.com/docker/docker v20.10.10+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
-github.com/docker/docker-credential-helpers v0.6.4 h1:axCks+yV+2MR3/kZhAmy07yC56WZ2Pwu/fKWtKuZB0o=
-github.com/docker/docker-credential-helpers v0.6.4/go.mod h1:ofX3UI0Gz1TteYBjtgs07O36Pyasyp66D2uKT7H8W1c=
+github.com/docker/docker-credential-helpers v0.6.3 h1:zI2p9+1NQYdnG6sMU26EX4aVGlqbInSQxQXLvzJ4RPQ=
+github.com/docker/docker-credential-helpers v0.6.3/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y=
 github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ=
 github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec=
 github.com/docker/go-events v0.0.0-20170721190031-9461782956ad/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA=
@@ -401,9 +395,8 @@ github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1m
 github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po=
 github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
 github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
+github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0 h1:dulLQAYQFYtG5MTplgNGHWuV2D+OBD+Z8lmDBmbLg+s=
 github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ=
-github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021 h1:fP+fF0up6oPY49OrjPrhIJ8yQfdIM85NXMLkMg1EXVs=
-github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0=
 github.com/envoyproxy/protoc-gen-validate v0.1.0 h1:EQciDnbrYxy13PgWoY8AqoxGiPrpgBZ1R8UNe3ddc+A=
 github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
 github.com/euank/go-kmsg-parser v2.0.0+incompatible/go.mod h1:MhmAMZ8V4CYH4ybgdRwPr2TU5ThnS43puaKEMpja1uw=
@@ -561,6 +554,7 @@ github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaS
 github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM=
 github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=
 github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
+github.com/golang/snappy v0.0.3 h1:fHPg5GQYlCeLIPB9BZqMVR5nR9A+IM5zcgeTdjMYmLA=
 github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
 github.com/golangplus/testing v0.0.0-20180327235837-af21d9c3145e/go.mod h1:0AA//k/eakGydO4jKRoRL2j92ZKSzTgj9tclaCrvXHk=
 github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
@@ -579,8 +573,8 @@ github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
 github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ=
 github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-containerregistry v0.7.0 h1:u0onUUOcyoCDHEiJoyR1R1gx5er1+r06V5DBhUU5ndk=
-github.com/google/go-containerregistry v0.7.0/go.mod h1:2zaoelrL0d08gGbpdP3LqyUuBmhWbpD6IOe2s9nLS2k=
+github.com/google/go-containerregistry v0.6.0 h1:niQ+8XD//kKgArIFwDVBXsWVWbde16LPdHMyNwSC8h4=
+github.com/google/go-containerregistry v0.6.0/go.mod h1:euCCtNbZ6tKqi1E72vwDj2xZcN5ttKpZLfa/wSo5iLw=
 github.com/google/go-github v17.0.0+incompatible h1:N0LgJ1j65A7kfXrZnUDaYCs/Sf4rEjNlfyDHW9dolSY=
 github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ=
 github.com/google/go-github/v36 v36.0.0 h1:ndCzM616/oijwufI7nBRa+5eZHLldT+4yIB68ib5ogs=
@@ -635,6 +629,7 @@ github.com/gophercloud/gophercloud v0.1.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEo
 github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
 github.com/gorilla/handlers v0.0.0-20150720190736-60c7bfde3e33/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ=
 github.com/gorilla/mux v1.7.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
+github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
 github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI=
 github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
 github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
@@ -708,9 +703,8 @@ github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:
 github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
 github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
 github.com/imdario/mergo v0.3.10/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA=
+github.com/imdario/mergo v0.3.11 h1:3tnifQM4i+fbajXKBHXWEH+KvNHqojZ778UH75j3bGA=
 github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA=
-github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU=
-github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA=
 github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM=
 github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
 github.com/intel-go/cpuid v0.0.0-20181003105527-1a4a6f06a1c6 h1:XboatR7lasl05yel5hNXF7kQBw2oFUGdMztcgisfhNU=
@@ -768,8 +762,9 @@ github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+o
 github.com/klauspost/compress v1.11.2/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
 github.com/klauspost/compress v1.11.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
 github.com/klauspost/compress v1.11.13/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
-github.com/klauspost/compress v1.13.6 h1:P76CopJELS0TiO2mebmnzgWaajssP/EszplttgQxcgc=
-github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
+github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg=
+github.com/klauspost/compress v1.13.0 h1:2T7tUoQrQT+fQWdaY5rjWztFGAFwbGD04iPJg90ZiOs=
+github.com/klauspost/compress v1.13.0/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg=
 github.com/klauspost/cpuid v1.2.0 h1:NMpwD2G9JSFOE1/TJjGSo5zG7Yb2bTe7eq1jH+irmeE=
 github.com/klauspost/cpuid v1.2.0/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
 github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
@@ -940,17 +935,15 @@ github.com/opencontainers/go-digest v1.0.0-rc1.0.20180430190053-c9281466c8b2/go.
 github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
 github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
 github.com/opencontainers/image-spec v1.0.0/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=
+github.com/opencontainers/image-spec v1.0.1 h1:JMemWkRwHx4Zj+fVxWoMCFm/8sYGGrUVojFA6h/TRcI=
 github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=
-github.com/opencontainers/image-spec v1.0.2-0.20210730191737-8e42a01fb1b7 h1:axgApq2XShTLwQii2zAnIkMPlhGVHbAXHUcHezu5G/k=
-github.com/opencontainers/image-spec v1.0.2-0.20210730191737-8e42a01fb1b7/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=
 github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
 github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
 github.com/opencontainers/runc v1.0.0-rc8.0.20190926000215-3e425f80a8c9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
 github.com/opencontainers/runc v1.0.0-rc9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
 github.com/opencontainers/runc v1.0.0-rc93/go.mod h1:3NOsor4w32B2tC0Zbl8Knk4Wg84SM2ImC1fxBuqJ/H0=
+github.com/opencontainers/runc v1.0.0-rc95 h1:RMuWVfY3E1ILlVsC3RhIq38n4sJtlOFwU9gfFZSqrd0=
 github.com/opencontainers/runc v1.0.0-rc95/go.mod h1:z+bZxa/+Tz/FmYVWkhUajJdzFeOqjc5vrqskhVyHGUM=
-github.com/opencontainers/runc v1.0.2 h1:opHZMaswlyxz1OuGpBE53Dwe4/xF7EZTY0A2L/FpCOg=
-github.com/opencontainers/runc v1.0.2/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0=
 github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
 github.com/opencontainers/runtime-spec v1.0.1/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
 github.com/opencontainers/runtime-spec v1.0.2-0.20190207185410-29686dbc5559/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
@@ -960,14 +953,13 @@ github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.m
 github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs=
 github.com/opencontainers/selinux v1.6.0/go.mod h1:VVGKuOLlE7v4PJyT6h7mNWvq1rzqiriPsEqVhc+svHE=
 github.com/opencontainers/selinux v1.8.0/go.mod h1:RScLhm78qiWa2gbVCcGkC7tCGdgk3ogry1nUQF8Evvo=
-github.com/opencontainers/selinux v1.8.2/go.mod h1:MUIHuUEvKB1wtJjQdOyYRgOnLD2xAPP8dBsCoU0KuF8=
-github.com/otiai10/copy v1.7.0 h1:hVoPiN+t+7d2nzzwMiDHPSOogsWAStewq3TwU05+clE=
-github.com/otiai10/copy v1.7.0/go.mod h1:rmRl6QPdJj6EiUqXQ/4Nn2lLXoNQjFCQbbNrxgc/t3U=
+github.com/otiai10/copy v1.6.0 h1:IinKAryFFuPONZ7cm6T6E2QX/vcJwSnlaA5lfoaXIiQ=
+github.com/otiai10/copy v1.6.0/go.mod h1:XWfuS3CrI0R6IE0FbgHsEazaXO8G0LpMp9o8tos0x4E=
 github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE=
 github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs=
 github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo=
-github.com/otiai10/mint v1.3.3 h1:7JgpsBaN0uMkyju4tbYHu0mnM55hNKVYLsXmwr15NQI=
-github.com/otiai10/mint v1.3.3/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc=
+github.com/otiai10/mint v1.3.2 h1:VYWnrP5fXmz1MXvjuUvcBrXSjGE6xjON+axB/UrpO3E=
+github.com/otiai10/mint v1.3.2/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc=
 github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
 github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
 github.com/pborman/uuid v1.2.1 h1:+ZZIw58t/ozdjRaXh/3awHfmWRbzYxJoAdNJxe/3pvw=
@@ -1080,6 +1072,7 @@ github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1
 github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
 github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
 github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
+github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72 h1:qLC7fQah7D6K1B0ujays3HV9gkFtllcxhzImRR7ArPQ=
 github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
 github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
 github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
@@ -1149,8 +1142,6 @@ github.com/urfave/cli v1.22.4/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtX
 github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4=
 github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
 github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
-github.com/vbatts/tar-split v0.11.2 h1:Via6XqJr0hceW4wff3QRzD5gAk/tatMw/4ZA7cTlIME=
-github.com/vbatts/tar-split v0.11.2/go.mod h1:vV3ZuO2yWSVsz+pfFzDG/upWH1JhjOiEaWq6kXyQ3VI=
 github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw=
 github.com/vishvananda/netlink v0.0.0-20181108222139-023a6dafdcdf/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk=
 github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE=
@@ -1369,8 +1360,8 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v
 golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc=
 golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
 golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.0.0-20211111160137-58aab5ef257a h1:c83jeVQW0KGKNaKBRfelNYNHaev+qawl9yaA825s8XE=
-golang.org/x/net v0.0.0-20211111160137-58aab5ef257a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20210525063256-abc453219eb5 h1:wjuX4b5yYQnEQHzd+CBcrcC6OVR2J1CN6mUy0oSxIPo=
+golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
 golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
 golang.org/x/oauth2 v0.0.0-20190402181905-9f3314589c9a/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -1388,9 +1379,8 @@ golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ
 golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
 golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
 golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1 h1:B333XXssMuKQeBwiNODx4TupZy7bf4sxFZnN2ZOcvUE=
 golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
-golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 h1:RerP+noqYHUQ8CMRcPlC2nvTa4dcBIjegkuWdcUDuqg=
-golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
 golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852/go.mod h1:JLpeXjPJfIyPr5TlbXLkXWLhP8nz10XfvxElABhCtcw=
 golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -1509,9 +1499,8 @@ golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBc
 golang.org/x/sys v0.0.0-20210917161153-d61c044b1678/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20211013075003-97ac67df715c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359 h1:2B5p2L5IfGiD7+b9BOoRMC6DgObAVZV+Fsp050NqXik=
 golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20211110154304-99a53858aa08 h1:WecRHqgE09JBkh/584XIE6PMz5KKE/vER4izNUi30AQ=
-golang.org/x/sys v0.0.0-20211110154304-99a53858aa08/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
@@ -1733,9 +1722,8 @@ google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ6
 google.golang.org/genproto v0.0.0-20211008145708-270636b82663/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
 google.golang.org/genproto v0.0.0-20211016002631-37fc39342514/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
 google.golang.org/genproto v0.0.0-20211018162055-cf77aa76bad2/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211021150943-2b146023228c h1:FqrtZMB5Wr+/RecOM3uPJNPfWR8Upb5hAPnt7PU6i4k=
 google.golang.org/genproto v0.0.0-20211021150943-2b146023228c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
-google.golang.org/genproto v0.0.0-20211111162719-482062a4217b h1:qvEQEwKjZRAg6rjY/jqfJ7T8/w/D7jTIFJGcaSka96k=
-google.golang.org/genproto v0.0.0-20211111162719-482062a4217b/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
 google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
@@ -1765,9 +1753,8 @@ google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQ
 google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
 google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE=
 google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE=
+google.golang.org/grpc v1.40.0 h1:AGJ0Ih4mHjSeibYkFGh1dD9KJ/eOtZ93I6hoHhukQ5Q=
 google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
-google.golang.org/grpc v1.42.0 h1:XT2/MFpuPFsEX2fWh3YQtHkZ+WYZFQRfaUgLZYj/p6A=
-google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU=
 google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
 google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
 google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
diff --git a/hack/benchmark/cpu_usage/auto_pause/chart.go b/hack/benchmark/cpu_usage/auto_pause/chart.go
index 56b97796e..53ebf9b8b 100644
--- a/hack/benchmark/cpu_usage/auto_pause/chart.go
+++ b/hack/benchmark/cpu_usage/auto_pause/chart.go
@@ -54,10 +54,10 @@ func main() {
 
 func execute() error {
 	// sessionID is generated and used at cpu usage benchmark
-	if len(os.Args) <= 1 || len(os.Args[1]) == 0 {
+	sessionID := os.Args[1]
+	if len(sessionID) == 0 {
 		return errors.New("Please identify sessionID")
 	}
-	sessionID := os.Args[1]
 
 	// Create plot instance
 	p := plot.New()
diff --git a/hack/benchmark/cpu_usage/idle_only/chart.go b/hack/benchmark/cpu_usage/idle_only/chart.go
index c7058894e..e06138b32 100644
--- a/hack/benchmark/cpu_usage/idle_only/chart.go
+++ b/hack/benchmark/cpu_usage/idle_only/chart.go
@@ -53,10 +53,10 @@ func main() {
 
 func execute() error {
 	// sessionID is generated and used at cpu usage benchmark
-	if len(os.Args) <= 1 || len(os.Args[1]) == 0 {
+	sessionID := os.Args[1]
+	if len(sessionID) == 0 {
 		return errors.New("Please identify sessionID")
 	}
-	sessionID := os.Args[1]
 
 	// Create plot instance
 	p := plot.New()
diff --git a/pkg/minikube/constants/constants.go b/pkg/minikube/constants/constants.go
index 4fd524588..583ad3cda 100644
--- a/pkg/minikube/constants/constants.go
+++ b/pkg/minikube/constants/constants.go
@@ -56,8 +56,6 @@ const (
 	SSHPort = 22
 	// RegistryAddonPort os the default registry addon port
 	RegistryAddonPort = 5000
-	// Containerd is the default name and spelling for the containerd container runtime
-	Containerd = "containerd"
 	// CRIO is the default name and spelling for the cri-o container runtime
 	CRIO = "crio"
 	// DefaultContainerRuntime is our default container runtime
diff --git a/pkg/minikube/cruntime/crio.go b/pkg/minikube/cruntime/crio.go
index 1d36e76be..258bdebb8 100644
--- a/pkg/minikube/cruntime/crio.go
+++ b/pkg/minikube/cruntime/crio.go
@@ -22,7 +22,6 @@ import (
 	"os"
 	"os/exec"
 	"path"
-	"path/filepath"
 	"strings"
 	"time"
 
@@ -148,50 +147,11 @@ func enableIPForwarding(cr CommandRunner) error {
 	return nil
 }
 
-// enableRootless enables configurations for running CRI-O in Rootless Docker.
-//
-// 1. Create /etc/systemd/system/crio.service.d/10-rootless.conf to set _CRIO_ROOTLESS=1
-// 2. Create /etc/crio/crio.conf.d/10-fuse-overlayfs.conf to enable fuse-overlayfs
-// 3. Reload systemd
-//
-// See https://kubernetes.io/docs/tasks/administer-cluster/kubelet-in-userns/#configuring-cri
-func (r *CRIO) enableRootless() error {
-	files := map[string]string{
-		"/etc/systemd/system/crio.service.d/10-rootless.conf": `[Service]
-Environment="_CRIO_ROOTLESS=1"
-`,
-		"/etc/crio/crio.conf.d/10-fuse-overlayfs.conf": `[crio]
-storage_driver = "overlay"
-storage_option = ["overlay.mount_program=/usr/local/bin/fuse-overlayfs"]
-`,
-	}
-	for target, content := range files {
-		targetDir := filepath.Dir(target)
-		c := exec.Command("sudo", "mkdir", "-p", targetDir)
-		if _, err := r.Runner.RunCmd(c); err != nil {
-			return errors.Wrapf(err, "failed to create directory %q", targetDir)
-		}
-		asset := assets.NewMemoryAssetTarget([]byte(content), target, "0644")
-		err := r.Runner.Copy(asset)
-		asset.Close()
-		if err != nil {
-			return errors.Wrapf(err, "failed to create %q", target)
-		}
-	}
-	// reload systemd to apply our changes on /etc/systemd
-	if err := r.Init.Reload("crio"); err != nil {
-		return err
-	}
-	if r.Init.Active("crio") {
-		if err := r.Init.Restart("crio"); err != nil {
-			return err
-		}
-	}
-	return nil
-}
-
 // Enable idempotently enables CRIO on a host
 func (r *CRIO) Enable(disOthers, forceSystemd, inUserNamespace bool) error {
+	if inUserNamespace {
+		return errors.New("inUserNamespace must not be true for cri-o (yet)")
+	}
 	if disOthers {
 		if err := disableOthers(r, r.Runner); err != nil {
 			klog.Warningf("disableOthers: %v", err)
@@ -211,12 +171,6 @@ func (r *CRIO) Enable(disOthers, forceSystemd, inUserNamespace bool) error {
 			return err
 		}
 	}
-	if inUserNamespace {
-		if err := r.enableRootless(); err != nil {
-			return err
-		}
-	}
-	// NOTE: before we start crio explicitly here, crio might be already started automatically
 	return r.Init.Start("crio")
 }
 
diff --git a/pkg/minikube/extract/extract.go b/pkg/minikube/extract/extract.go
index 3c0d1caf4..d5b601337 100644
--- a/pkg/minikube/extract/extract.go
+++ b/pkg/minikube/extract/extract.go
@@ -263,6 +263,7 @@ func checkArguments(s *ast.CallExpr, e *state) {
 			if s := checkIdentForStringValue(i); s != "" {
 				e.translations[s] = ""
 				matched = true
+				break
 			}
 		}
 
@@ -271,11 +272,12 @@ func checkArguments(s *ast.CallExpr, e *state) {
 			if s := checkString(argString.Value); s != "" {
 				e.translations[s] = ""
 				matched = true
+				break
 			}
 		}
 	}
 
-	// No string arguments were found, check everything that calls this function for strings
+	// No string arguments were found, check everything the calls this function for strings
 	if !matched {
 		addParentFuncToList(e)
 	}
@@ -540,28 +542,7 @@ func extractAdvice(f ast.Node, e *state) error {
 
 		if i.Name == "Advice" {
 			// At this point we know the value in the kvp is guaranteed to be a string
-			advice, ok := kvp.Value.(*ast.BasicLit)
-			if !ok {
-				// Maybe the advice is a function call, like fmt.Sprintf
-				ad, ok := kvp.Value.(*ast.CallExpr)
-				if !ok {
-					// Ok, we tried. Abort.
-					return true
-				}
-				// Let's support fmt.Sprintf with a string argument only
-				for _, arg := range ad.Args {
-					adArg, ok := arg.(*ast.BasicLit)
-					if !ok {
-						continue
-					}
-					s := checkString(adArg.Value)
-					if s != "" {
-						e.translations[s] = ""
-					}
-				}
-				return true
-
-			}
+			advice, _ := kvp.Value.(*ast.BasicLit)
 			s := checkString(advice.Value)
 			if s != "" {
 				e.translations[s] = ""
diff --git a/pkg/minikube/schedule/daemonize_unix.go b/pkg/minikube/schedule/daemonize_unix.go
index 83aeb907a..2544fdd65 100644
--- a/pkg/minikube/schedule/daemonize_unix.go
+++ b/pkg/minikube/schedule/daemonize_unix.go
@@ -38,7 +38,7 @@ import (
 func KillExisting(profiles []string) {
 	for _, profile := range profiles {
 		if err := killPIDForProfile(profile); err != nil {
-			klog.Warningf("error killng PID for profile %s: %v", profile, err)
+			klog.Errorf("error killng PID for profile %s: %v", profile, err)
 		}
 		_, cc := mustload.Partial(profile)
 		cc.ScheduledStop = nil
diff --git a/pkg/minikube/shell/shell.go b/pkg/minikube/shell/shell.go
index 88a479ab5..59729c881 100644
--- a/pkg/minikube/shell/shell.go
+++ b/pkg/minikube/shell/shell.go
@@ -81,7 +81,7 @@ var shellConfigMap = map[string]shellData{
 		unsetDelimiter: "",
 		usageHint: func(s ...interface{}) string {
 			return fmt.Sprintf(`# %s
-# & %s | Invoke-Expression
+# & %s --shell powershell | Invoke-Expression
 `, s...)
 		},
 	},
@@ -94,7 +94,7 @@ var shellConfigMap = map[string]shellData{
 		unsetDelimiter: "=",
 		usageHint: func(s ...interface{}) string {
 			return fmt.Sprintf(`REM %s
-REM @FOR /f "tokens=*" %%i IN ('%s') DO @%%i
+REM @FOR /f "tokens=*" %%i IN ('%s --shell cmd') DO @%%i
 `, s...)
 		},
 	},
diff --git a/site/content/en/docs/contrib/guide.en.md b/site/content/en/docs/contrib/guide.en.md
index 86c2333c2..b5784c2d8 100644
--- a/site/content/en/docs/contrib/guide.en.md
+++ b/site/content/en/docs/contrib/guide.en.md
@@ -1,7 +1,7 @@
 ---
 title: "Contributor Guide"
 linkTitle: "Guide"
-date: 2021-11-09
+date: 2019-07-31
 weight: 1
 description: >
   How to become a minikube contributor
@@ -9,7 +9,7 @@ description: >
 
 ### Code of Conduct
 
-Be excellent to each another. Please refer to our [Kubernetes Community Code of Conduct](https://git.k8s.io/community/code-of-conduct.md).
+ Be excellent to each another. Please refer to our [Kubernetes Community Code of Conduct](https://git.k8s.io/community/code-of-conduct.md).
 
 ### License Agreement
 
@@ -17,37 +17,36 @@ We'd love to accept your patches! Before we can take them, [please fill out eith
 
 ### Finding issues to work on
 
-- ["good first issue"](https://github.com/kubernetes/minikube/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) - issues where there is a clear path to resolution
-- ["help wanted"](https://github.com/kubernetes/minikube/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22+) - issues where we've identified a need but not resources to work on them
-- ["priority/important-soon"](https://github.com/kubernetes/minikube/issues?q=is%3Aopen+is%3Aissue+label%3Apriority%2Fimportant-soon) or ["priority/important-longterm"](https://github.com/kubernetes/minikube/issues?q=is%3Aopen+is%3Aissue+label%3Apriority%2Fimportant-longterm) - high impact issues that need to be addressed in the next couple of releases.
+* ["good first issue"](https://github.com/kubernetes/minikube/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)  -  issues where there is a clear path to resolution
+* ["help wanted"](https://github.com/kubernetes/minikube/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22+) - issues where we've identified a need but not resources to work on them
+* ["priority/important-soon"](https://github.com/kubernetes/minikube/issues?q=is%3Aopen+is%3Aissue+label%3Apriority%2Fimportant-soon) or ["priority/important-longterm"](https://github.com/kubernetes/minikube/issues?q=is%3Aopen+is%3Aissue+label%3Apriority%2Fimportant-longterm) - high impact issues that need to be addressed in the next couple of releases.
 
-- Ask on the #minikube Slack if you aren't sure
+* Ask on the #minikube Slack if you aren't sure
 
 Once you've discovered an issue to work on:
 
-- Add a comment mentioning that you plan to work on the issue
-- Send a PR out that mentions the issue
-- Comment on the issue with `/assign` to assign it to yourself
+* Add a comment mentioning that you plan to work on the issue
+* Send a PR out that mentions the issue
+* Comment on the issue with `/assign` to assign it to yourself
+
 
 ### clone `minikube`
 
 After forking minikube you can `clone` for best practices use the following instruction:
 
-```bash
+```bash 
 git clone git@github.com:kubernetes/minikube.git
-cd minikube
 git remote rename origin upstream
 git remote set-url --push upstream NO_PUSH
 git remote add origin git@github.com:<YOUR_GITHUB_USERNAME>/minikube.git
 ```
-
 ### Contributing A Patch
 
 1. Submit an issue describing your proposed change
 2. A reviewer will respond to your issue promptly.
 3. If your proposed change is accepted, and you haven't already done so, sign the [Contributor License Agreement (CLA)](https://git.k8s.io/community/CLA.md)
 4. Fork the minikube repository, develop and test your code changes.
-   - Before test, you may need to install some [prerequisites](https://minikube.sigs.k8s.io/docs/contrib/testing/#prerequisites).
+    * Before test, you may need to install some [prerequisites](https://minikube.sigs.k8s.io/docs/contrib/testing/#prerequisites).
 5. Submit a pull request.
 
 ## Contributing larger changes
diff --git a/site/content/en/docs/drivers/_index.md b/site/content/en/docs/drivers/_index.md
index daf996e84..46758f51b 100644
--- a/site/content/en/docs/drivers/_index.md
+++ b/site/content/en/docs/drivers/_index.md
@@ -28,7 +28,7 @@ To do so, we use the [Docker Machine](https://github.com/docker/machine) library
 * [Hyperkit]({{<ref "hyperkit.md">}}) - VM
 * [VirtualBox]({{<ref "virtualbox.md">}}) - VM
 * [Parallels]({{<ref "parallels.md">}}) - VM
-* [VMware Fusion]({{<ref "vmware.md">}}) - VM
+* [VMware]({{<ref "vmware.md">}}) - VM
 * [SSH]({{<ref "ssh.md">}}) - remote ssh
 
 ## Windows
@@ -36,5 +36,5 @@ To do so, we use the [Docker Machine](https://github.com/docker/machine) library
 * [Hyper-V]({{<ref "hyperv.md">}}) - VM (preferred)
 * [Docker]({{<ref "docker.md">}}) - VM + Container (preferred)
 * [VirtualBox]({{<ref "virtualbox.md">}}) - VM
-* [VMware Workstation]({{<ref "vmware.md">}}) - VM
+* [VMware]({{<ref "vmware.md">}}) - VM
 * [SSH]({{<ref "ssh.md">}}) - remote ssh
diff --git a/site/content/en/docs/drivers/includes/docker_usage.inc b/site/content/en/docs/drivers/includes/docker_usage.inc
index 1f757080f..63d50ca32 100644
--- a/site/content/en/docs/drivers/includes/docker_usage.inc
+++ b/site/content/en/docs/drivers/includes/docker_usage.inc
@@ -32,7 +32,7 @@ docker context use rootless
 minikube start --driver=docker --container-runtime=containerd
 ```
 
-The `--container-runtime` flag must be set to "containerd" or "cri-o".
+The `--container-runtime` flag must be currently set to "containerd".
 
 The restrictions of rootless `kind` apply to minikube with rootless docker as well.
 
diff --git a/site/content/en/docs/drivers/includes/vmware_windows_usage.inc b/site/content/en/docs/drivers/includes/vmware_windows_usage.inc
index 46245257a..3944dc25c 100644
--- a/site/content/en/docs/drivers/includes/vmware_windows_usage.inc
+++ b/site/content/en/docs/drivers/includes/vmware_windows_usage.inc
@@ -1,6 +1,6 @@
 ## Requirements
 
-* VMware Workstation
+*VMware Workstation
 
 ## Driver Installation
 
diff --git a/site/content/en/docs/faq/_index.md b/site/content/en/docs/faq/_index.md
index ce4d74d49..2d563f17a 100644
--- a/site/content/en/docs/faq/_index.md
+++ b/site/content/en/docs/faq/_index.md
@@ -39,7 +39,7 @@ minikube start --driver=hyperv
 ```
 Alternatively, you can use `minikube image build`  instead of `minikube docker-env` and `docker build`.
 
-## Can I start minikube without Kubernetes running?
+## Can I start minikube without Kuberentes runninng?
 Yes! If you want to use minikube only as a Docker Desktop replacement without starting Kubernetes itself, try:
 ```
 minikube start --no-kubernetes
diff --git a/site/content/en/docs/handbook/addons/ingress-dns.md b/site/content/en/docs/handbook/addons/ingress-dns.md
index 4bf8ee479..d6fefd76c 100644
--- a/site/content/en/docs/handbook/addons/ingress-dns.md
+++ b/site/content/en/docs/handbook/addons/ingress-dns.md
@@ -12,14 +12,14 @@ DNS service for ingress controllers running on your minikube server
 When running minikube locally, you may want to run your services on an ingress controller so that you don't have to use
 minikube tunnel or NodePorts to access your services. While NodePort might be okay in a lot of circumstances, an ingress
 is necessary to test some features. Ingress controllers are great because you can define your entire architecture in
-something like a helm chart, and all your services will be available.
+something like a helm chart and all your services will be available.
 
 However, for minikube, there is an additional challenge. Your ingress controller relies on DNS, so local DNS names like
 `myservice.test` will have to resolve to your `minikube ip`. The only real way to do this is to add an entry for every
 service in your `/etc/hosts` file. This gets messy for obvious reasons. For each service you are running that each has
 its own DNS entry, you will need to configure it manually. Even if you automate it, you then need to rely on the host
 operating system for storing configurations instead of storing them in your cluster. To make it worse, these
-configurations have to be constantly maintained and updated as services are added, removed, and renamed. I call it the
+configurations have to be constantly maintained and updated as services are added, remove, and renamed. I call it the
 `/etc/hosts` pollution problem.
 
 ### Solution
@@ -107,7 +107,7 @@ Also see `dns=` in [NetworkManager.conf](https://developer.gnome.org/NetworkMana
 
 {{% quiz_instruction_plain id="/macOS" %}}
 
-Create a file in `/etc/resolver/minikube-test` with the following contents.
+Create a file in `/etc/resolver/minikube-test` with the following content.
 
 ```
 domain test
diff --git a/site/content/en/docs/start/_index.md b/site/content/en/docs/start/_index.md
index f8eb48365..5c0aa438a 100644
--- a/site/content/en/docs/start/_index.md
+++ b/site/content/en/docs/start/_index.md
@@ -16,7 +16,7 @@ All you need is Docker (or similarly compatible) container or a Virtual Machine
 * 2GB of free memory
 * 20GB of free disk space
 * Internet connection
-* Container or virtual machine manager, such as: [Docker]({{<ref "/docs/drivers/docker">}}), [Hyperkit]({{<ref "/docs/drivers/hyperkit">}}), [Hyper-V]({{<ref "/docs/drivers/hyperv">}}), [KVM]({{<ref "/docs/drivers/kvm2">}}), [Parallels]({{<ref "/docs/drivers/parallels">}}), [Podman]({{<ref "/docs/drivers/podman">}}), [VirtualBox]({{<ref "/docs/drivers/virtualbox">}}), or [VMware Fusion/Workstation]({{<ref "/docs/drivers/vmware">}})
+* Container or virtual machine manager, such as: [Docker]({{<ref "/docs/drivers/docker">}}), [Hyperkit]({{<ref "/docs/drivers/hyperkit">}}), [Hyper-V]({{<ref "/docs/drivers/hyperv">}}), [KVM]({{<ref "/docs/drivers/kvm2">}}), [Parallels]({{<ref "/docs/drivers/parallels">}}), [Podman]({{<ref "/docs/drivers/podman">}}), [VirtualBox]({{<ref "/docs/drivers/virtualbox">}}), or [VMware]({{<ref "/docs/drivers/vmware">}})
 
 <h2 class="step"><span class="fa-stack fa-1x"><i class="fa fa-circle fa-stack-2x"></i><strong class="fa-stack-1x text-primary">1</strong></span>Installation</h2>
 
diff --git a/translations/de.json b/translations/de.json
index 67cadd47f..94cda0e4c 100644
--- a/translations/de.json
+++ b/translations/de.json
@@ -8,9 +8,6 @@
 	"'none' driver does not support 'minikube podman-env' command": "",
 	"'none' driver does not support 'minikube ssh' command": "",
 	"'none' driver does not support 'minikube ssh-host' command": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube docker-env\" to point your docker-cli to the docker inside minikube.\n- \"minikube image\" to build images without docker.": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube image\" to build images without docker.": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube podman-env\" to point your podman-cli to the podman inside minikube.\n- \"minikube image\" to build images without docker.": "",
 	"- Delete and recreate minikube cluster\n\t\tminikube delete\n\t\tminikube start --driver={{.driver_name}}": "",
 	"- Docs https://docs.docker.com/docker-for-mac/#resources": "",
 	"- Docs https://docs.docker.com/docker-for-windows/#resources": "",
@@ -18,7 +15,6 @@
 	"- Prune unused {{.driver_name}} images, volumes, networks and abandoned containers.\n\n\t\t\t\t{{.driver_name}} system prune --volumes": "",
 	"- Restart your {{.driver_name}} service": "",
 	"- {{.logPath}}": "",
-	"--container-runtime must be set to \\\"containerd\\\" or \\\"cri-o\\\" for rootless": "",
 	"--kvm-numa-count range is 1-8": "",
 	"--network flag is only valid with the docker/podman and KVM drivers, it will be ignored": "",
 	"127.0.0.1": "",
@@ -84,7 +80,6 @@
 	"Cannot find directory {{.path}} for copy": "",
 	"Cannot find directory {{.path}} for mount": "",
 	"Cannot use both --output and --format options": "",
-	"Cannot use the option --no-kubernetes on the {{.name}} driver": "",
 	"Certificate {{.certPath}} has expired. Generating a new one...": "",
 	"Check if you have unnecessary pods running by running 'kubectl get po -A": "",
 	"Check output of 'journalctl -xeu kubelet', try passing --extra-config=kubelet.cgroup-driver=systemd to minikube start": "",
@@ -109,6 +104,7 @@
 	"Connect to LoadBalancer services": "",
 	"Consider creating a cluster with larger memory size using `minikube start --memory SIZE_MB` ": "",
 	"Consider increasing Docker Desktop's memory size.": "",
+	"Container runtime must be set to \\\"containerd\\\" for rootless": "",
 	"Continuously listing/getting the status with optional interval duration.": "",
 	"Control Plane could not update, try minikube delete --all --purge": "",
 	"Copy the specified file into minikube": "",
@@ -128,7 +124,6 @@
 	"Default group id used for the mount": "",
 	"Default user id used for the mount": "",
 	"Delete an image from the local cache.": "",
-	"Delete the existing '{{.name}}' cluster using: '{{.delcommand}}', or start the existing '{{.name}}' cluster using: '{{.command}} --driver={{.old}}'": "",
 	"Deletes a local Kubernetes cluster": "",
 	"Deletes a local Kubernetes cluster. This command deletes the VM, and removes all\nassociated files.": "",
 	"Deletes a local kubernetes cluster. This command deletes the VM, and removes all associated files.": "Damit wird ein lokaler Kubernetes-Cluster gelöscht. Mit diesem Befehl wird die VM entfernt und alle zugehörigen Dateien gelöscht.",
@@ -696,7 +691,6 @@
 	"The value passed to --format is invalid": "",
 	"The value passed to --format is invalid: {{.error}}": "",
 	"The {{.driver_name}} driver should not be used with root privileges.": "Der Treiber {{.driver_name}} sollte nicht mit Root-Rechten verwendet werden.",
-	"There are a couple ways to enable the required file sharing:\n1. Enable \"Use the WSL 2 based engine\" in Docker Desktop\nor\n2. Enable file sharing in Docker Desktop for the %s%s directory": "",
 	"There's a new version for '{{.driver_executable}}'. Please consider upgrading. {{.documentation_url}}": "Es gibt eine neue Version für '{{.driver_executable}}'. Bitte erwägen Sie ein Upgrade. {{.documentation_url}}",
 	"These --extra-config parameters are invalid: {{.invalid_extra_opts}}": "",
 	"These changes will take effect upon a minikube delete and then a minikube start": "",
diff --git a/translations/es.json b/translations/es.json
index 2692b7353..dbaec07f9 100644
--- a/translations/es.json
+++ b/translations/es.json
@@ -9,9 +9,6 @@
 	"'none' driver does not support 'minikube podman-env' command": "El controlador 'none' no soporta el comando 'minikube podman-env'.",
 	"'none' driver does not support 'minikube ssh' command": "El controlador 'none' no soporta el comando 'minikube ssh'.",
 	"'none' driver does not support 'minikube ssh-host' command": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube docker-env\" to point your docker-cli to the docker inside minikube.\n- \"minikube image\" to build images without docker.": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube image\" to build images without docker.": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube podman-env\" to point your podman-cli to the podman inside minikube.\n- \"minikube image\" to build images without docker.": "",
 	"- Delete and recreate minikube cluster\n\t\tminikube delete\n\t\tminikube start --driver={{.driver_name}}": "- Eliminando y recreando el cluster minikube\n\t\tminikube delete\n\t\tminikube start --driver={{.driver_name}}",
 	"- Docs https://docs.docker.com/docker-for-mac/#resources": "Documentación https://docs.docker.com/docker-for-mac/#resources",
 	"- Docs https://docs.docker.com/docker-for-windows/#resources": "Documentación https://docs.docker.com/docker-for-windows/#resources",
@@ -19,7 +16,6 @@
 	"- Prune unused {{.driver_name}} images, volumes, networks and abandoned containers.\n\n\t\t\t\t{{.driver_name}} system prune --volumes": "- Recorta las imágenes, volumenes, redes y contenedores abandonados de {{.driver_name}}.\n\n\t\t\t\t{{.driver_name}} system prune --volumes",
 	"- Restart your {{.driver_name}} service": "- Reinicia el servicio {{.driver_name}}",
 	"- {{.logPath}}": "",
-	"--container-runtime must be set to \\\"containerd\\\" or \\\"cri-o\\\" for rootless": "",
 	"--kvm-numa-count range is 1-8": "",
 	"--network flag is only valid with the docker/podman and KVM drivers, it will be ignored": "",
 	"127.0.0.1": "",
@@ -85,7 +81,6 @@
 	"Cannot find directory {{.path}} for copy": "",
 	"Cannot find directory {{.path}} for mount": "No se pudo encontrar el directorio {{.path}} para montar",
 	"Cannot use both --output and --format options": "No se pueden usar ambas opciones (--output y --path)",
-	"Cannot use the option --no-kubernetes on the {{.name}} driver": "",
 	"Certificate {{.certPath}} has expired. Generating a new one...": "",
 	"Check if you have unnecessary pods running by running 'kubectl get po -A": "Comprueba si tienes pods innecesarios corriendo, con el comando 'kubectl get pods -A'",
 	"Check output of 'journalctl -xeu kubelet', try passing --extra-config=kubelet.cgroup-driver=systemd to minikube start": "Comprueba la salida de 'journalctl -xeu kubelet', intenta pasar --extra-config=kubelet.cgroup-driver=systemd a minikube start",
@@ -110,6 +105,7 @@
 	"Connect to LoadBalancer services": "Conectar a los servicios LoadBalancer",
 	"Consider creating a cluster with larger memory size using `minikube start --memory SIZE_MB` ": "Considera crear un cluster con más memoria usando `minikube start --memory CANT_MB`",
 	"Consider increasing Docker Desktop's memory size.": "Considera incrementar la memoria asignada a Docker Desktop",
+	"Container runtime must be set to \\\"containerd\\\" for rootless": "",
 	"Continuously listing/getting the status with optional interval duration.": "",
 	"Control Plane could not update, try minikube delete --all --purge": "",
 	"Copy the specified file into minikube": "",
@@ -129,7 +125,6 @@
 	"Default group id used for the mount": "ID de grupo por defecto usado para el montaje",
 	"Default user id used for the mount": "ID de usuario por defecto usado para el montaje",
 	"Delete an image from the local cache.": "Elimina una imagen del caché local.",
-	"Delete the existing '{{.name}}' cluster using: '{{.delcommand}}', or start the existing '{{.name}}' cluster using: '{{.command}} --driver={{.old}}'": "",
 	"Deletes a local Kubernetes cluster": "Elimina un cluster de Kubernetes local",
 	"Deletes a local Kubernetes cluster. This command deletes the VM, and removes all\nassociated files.": "Elimina un clúster local de Kubernetes. Este comando borra la VM, y todos los\narchivos asociados.",
 	"Deletes a local kubernetes cluster. This command deletes the VM, and removes all associated files.": "Elimina un clúster local de Kubernetes. Este comando borra la VM y todos los archivos asociados.",
@@ -702,7 +697,6 @@
 	"The value passed to --format is invalid": "",
 	"The value passed to --format is invalid: {{.error}}": "",
 	"The {{.driver_name}} driver should not be used with root privileges.": "El controlador {{.driver_name}} no se debe utilizar con privilegios de raíz.",
-	"There are a couple ways to enable the required file sharing:\n1. Enable \"Use the WSL 2 based engine\" in Docker Desktop\nor\n2. Enable file sharing in Docker Desktop for the %s%s directory": "",
 	"There's a new version for '{{.driver_executable}}'. Please consider upgrading. {{.documentation_url}}": "Hay una nueva versión de \"{{.driver_executable}}\". Te recomendamos que realices la actualización. {{.documentation_url}}",
 	"These --extra-config parameters are invalid: {{.invalid_extra_opts}}": "",
 	"These changes will take effect upon a minikube delete and then a minikube start": "",
diff --git a/translations/fr.json b/translations/fr.json
index 2e2b19cff..fb28a7c24 100644
--- a/translations/fr.json
+++ b/translations/fr.json
@@ -8,9 +8,6 @@
 	"'none' driver does not support 'minikube podman-env' command": "Le pilote 'none' ne prend pas en charge la commande 'minikube podman-env'",
 	"'none' driver does not support 'minikube ssh' command": "Le pilote 'none' ne prend pas en charge la commande 'minikube ssh'",
 	"'none' driver does not support 'minikube ssh-host' command": "Le pilote 'none' ne prend pas en charge la commande 'minikube ssh-host'",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube docker-env\" to point your docker-cli to the docker inside minikube.\n- \"minikube image\" to build images without docker.": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube image\" to build images without docker.": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube podman-env\" to point your podman-cli to the podman inside minikube.\n- \"minikube image\" to build images without docker.": "",
 	"- Delete and recreate minikube cluster\n\t\tminikube delete\n\t\tminikube start --driver={{.driver_name}}": "- Supprimer et recréer le cluster de minikube\n\t\tminikube delete\n\t\tminikube start --driver={{.driver_name}}",
 	"- Docs https://docs.docker.com/docker-for-mac/#resources": "- Documentation https://docs.docker.com/docker-for-mac/#resources",
 	"- Docs https://docs.docker.com/docker-for-windows/#resources": "- Docs https://docs.docker.com/docker-for-windows/#resources",
@@ -18,7 +15,6 @@
 	"- Prune unused {{.driver_name}} images, volumes, networks and abandoned containers.\n\n\t\t\t\t{{.driver_name}} system prune --volumes": "- Nettoyer les images {{.driver_name}} non utilisées, les volumes, les réseaux et les conteneurs abandonnées.\n\n\t\t\t\t{{.driver_name}} system prune --volumes",
 	"- Restart your {{.driver_name}} service": "- Redémarrer votre service {{.driver_name}}",
 	"- {{.logPath}}": "- {{.logPath}}",
-	"--container-runtime must be set to \\\"containerd\\\" or \\\"cri-o\\\" for rootless": "",
 	"--kvm-numa-count range is 1-8": "la tranche de --kvm-numa-count est 1 à 8",
 	"--network flag is only valid with the docker/podman and KVM drivers, it will be ignored": "le drapeau --network est valide uniquement avec les pilotes docker/podman et KVM, il va être ignoré",
 	"127.0.0.1": "127.0.0.1",
@@ -80,7 +76,6 @@
 	"Cannot find directory {{.path}} for copy": "Impossible de trouver le répertoire {{.path}} pour la copie",
 	"Cannot find directory {{.path}} for mount": "Impossible de trouver le répertoire {{.path}} pour le montage",
 	"Cannot use both --output and --format options": "Impossible d'utiliser à la fois les options --output et --format",
-	"Cannot use the option --no-kubernetes on the {{.name}} driver": "",
 	"Certificate {{.certPath}} has expired. Generating a new one...": "Le certificat {{.certPath}} a expiré. Génération d'un nouveau...",
 	"Check if you have unnecessary pods running by running 'kubectl get po -A": "Vérifiez si vous avez des pods inutiles en cours d'exécution en exécutant 'kubectl get po -A'",
 	"Check output of 'journalctl -xeu kubelet', try passing --extra-config=kubelet.cgroup-driver=systemd to minikube start": "Vérifiez la sortie de 'journalctl -xeu kubelet', essayez de passer --extra-config=kubelet.cgroup-driver=systemd au démarrage de minikube",
@@ -125,7 +120,6 @@
 	"Default group id used for the mount": "ID de groupe par défaut utilisé pour le montage",
 	"Default user id used for the mount": "ID utilisateur par défaut utilisé pour le montage",
 	"Delete an image from the local cache.": "Supprimez une image du cache local.",
-	"Delete the existing '{{.name}}' cluster using: '{{.delcommand}}', or start the existing '{{.name}}' cluster using: '{{.command}} --driver={{.old}}'": "",
 	"Deletes a local Kubernetes cluster": "Supprime un cluster Kubernetes local",
 	"Deletes a local Kubernetes cluster. This command deletes the VM, and removes all\nassociated files.": "Supprime le cluster Kubernetes local. Cette commande supprime la VM ainsi que tous les fichiers associés.",
 	"Deletes a node from a cluster.": "Supprime un nœud d'un cluster.",
@@ -153,7 +147,7 @@
 	"Docs have been saved at - {{.path}}": "Les documents ont été enregistrés à - {{.path}}",
 	"Documentation: {{.url}}": "Documentation: {{.url}}",
 	"Done! kubectl is now configured to use \"{{.name}}\" cluster and \"{{.ns}}\" namespace by default": "Terminé ! kubectl est maintenant configuré pour utiliser \"{{.name}}\" cluster et espace de noms \"{{.ns}}\" par défaut.",
-	"Done! minikube is ready without Kubernetes!": "Terminé! minikube est prêt sans Kubernetes !",
+	"Done! minikube is ready without Kubernetes!": "",
 	"Download complete!": "Téléchargement terminé !",
 	"Downloading Kubernetes {{.version}} preload ...": "Téléchargement du préchargement de Kubernetes {{.version}}...",
 	"Downloading VM boot image ...": "Téléchargement de l'image de démarrage de la VM...",
@@ -301,7 +295,7 @@
 	"Group ID:     {{.groupID}}": "Identifiant du groupe:     {{.groupID}}",
 	"Hide the hypervisor signature from the guest in minikube (kvm2 driver only)": "Masque la signature de l'hyperviseur de l'invité dans minikube (pilote kvm2 uniquement).",
 	"Hyperkit is broken. Upgrade to the latest hyperkit version and/or Docker for Desktop. Alternatively, you may choose an alternate --driver": "Hyperkit ne fonctionne pas. Mettez à niveau vers la dernière version d'hyperkit et/ou Docker for Desktop. Alternativement, vous pouvez choisir un autre --driver",
-	"Hyperkit networking is broken. Try disabling Internet Sharing: System Preference \u003e Sharing \u003e Internet Sharing. \nAlternatively, you can try upgrading to the latest hyperkit version, or using an alternate driver.": "Le réseau Hyperkit est cassé. Essayez de désactiver le partage Internet : Préférence système \u003e Partage \u003e Partage Internet. \nVous pouvez également essayer de mettre à niveau vers la dernière version d'hyperkit ou d'utiliser un autre pilote.",
+	"Hyperkit networking is broken. Try disabling Internet Sharing: System Preference \u003e Sharing \u003e Internet Sharing. \nAlternatively, you can try upgrading to the latest hyperkit version, or using an alternate driver.": "",
 	"Hyperkit networking is broken. Upgrade to the latest hyperkit version and/or Docker for Desktop. Alternatively, you may choose an alternate --driver": "Le réseau Hyperkit ne fonctionne pas. Mettez à niveau vers la dernière version d'hyperkit et/ou Docker for Desktop. Alternativement, vous pouvez choisir un autre --driver",
 	"IP Address to use to expose ports (docker and podman driver only)": "Adresse IP à utiliser pour exposer les ports (pilote docker et podman uniquement)",
 	"IP address (ssh driver only)": "Adresse IP (pilote ssh uniquement)",
@@ -311,7 +305,7 @@
 	"If set, download tarball of preloaded images if available to improve start time. Defaults to true.": "Si défini, télécharge l'archive tar des images préchargées si disponibles pour améliorer le temps de démarrage. La valeur par défaut est true.",
 	"If set, force the container runtime to use systemd as cgroup manager. Defaults to false.": "S'il est défini, force l'environnement d'exécution du conteneur à utiliser systemd comme gestionnaire de groupe de contrôle. La valeur par défaut est false.",
 	"If set, install addons. Defaults to true.": "Si défini, installe les modules. La valeur par défaut est true.",
-	"If set, minikube VM/container will start without starting or configuring Kubernetes. (only works on new clusters)": "S'il est défini, minikube VM/container démarrera sans démarrer ni configurer Kubernetes. (ne fonctionne que sur les nouveaux clusters)",
+	"If set, minikube VM/container will start without starting or configuring Kubernetes. (only works on new clusters)": "",
 	"If set, pause all namespaces": "Si défini, suspend tous les espaces de noms",
 	"If set, unpause all namespaces": "Si défini, annule la pause de tous les espaces de noms",
 	"If the above advice does not help, please let us know:": "Si les conseils ci-dessus ne vous aident pas, veuillez nous en informer :",
@@ -554,10 +548,10 @@
 	"Specifying extra disks is currently only supported for the following drivers: {{.supported_drivers}}. If you can contribute to add this feature, please create a PR.": "La spécification de disques supplémentaires n'est actuellement prise en charge que pour les pilotes suivants : {{.supported_drivers}}. Si vous pouvez contribuer à ajouter cette fonctionnalité, veuillez créer un PR.",
 	"StartHost failed, but will try again: {{.error}}": "StartHost a échoué, mais va réessayer : {{.error}}",
 	"Starting control plane node {{.name}} in cluster {{.cluster}}": "Démarrage du noeud de plan de contrôle {{.name}} dans le cluster {{.cluster}}",
-	"Starting minikube without Kubernetes {{.name}} in cluster {{.cluster}}": "Démarrage de minikube sans Kubernetes {{.name}} dans le cluster {{.cluster}}",
+	"Starting minikube without Kubernetes {{.name}} in cluster {{.cluster}}": "",
 	"Starting node {{.name}} in cluster {{.cluster}}": "Démarrage du noeud {{.name}} dans le cluster {{.cluster}}",
 	"Starting tunnel for service {{.service}}.": "Tunnel de démarrage pour le service {{.service}}.",
-	"Starting worker node {{.name}} in cluster {{.cluster}}": "Démarrage du nœud de travail {{.name}} dans le cluster {{.cluster}}",
+	"Starting worker node {{.name}} in cluster {{.cluster}}": "",
 	"Starts a local Kubernetes cluster": "Démarre un cluster Kubernetes local",
 	"Starts a node.": "Démarre un nœud.",
 	"Starts an existing stopped node in a cluster.": "Démarre un nœud arrêté existant dans un cluster.",
@@ -655,10 +649,9 @@
 	"The time interval for each check that wait performs in seconds": "L'intervalle de temps pour chaque contrôle que wait effectue en secondes",
 	"The value passed to --format is invalid": "La valeur passée à --format n'est pas valide",
 	"The value passed to --format is invalid: {{.error}}": "La valeur passée à --format n'est pas valide : {{.error}}",
-	"There are a couple ways to enable the required file sharing:\n1. Enable \"Use the WSL 2 based engine\" in Docker Desktop\nor\n2. Enable file sharing in Docker Desktop for the %s%s directory": "",
 	"These --extra-config parameters are invalid: {{.invalid_extra_opts}}": "Ces paramètres --extra-config ne sont pas valides : {{.invalid_extra_opts}}",
 	"These changes will take effect upon a minikube delete and then a minikube start": "Ces modifications prendront effet lors d'une suppression de minikube, puis d'un démarrage de minikube",
-	"Things to try without Kubernetes ...": "Choses à essayer sans Kubernetes ...",
+	"Things to try without Kubernetes ...": "",
 	"This addon does not have an endpoint defined for the 'addons open' command.\nYou can add one by annotating a service with the label {{.labelName}}:{{.addonName}}": "Ce module n'a pas de point de terminaison défini pour la commande 'addons open'.\nVous pouvez en ajouter un en annotant un service avec le libellé {{.labelName}} :{{.addonName}}",
 	"This can also be done automatically by setting the env var CHANGE_MINIKUBE_NONE_USER=true": "Cette opération peut également être réalisée en définissant la variable d'environment \"CHANGE_MINIKUBE_NONE_USER=true\".",
 	"This control plane is not running! (state={{.state}})": "Ce plan de contrôle ne fonctionne pas ! (état={{.state}})",
diff --git a/translations/ja.json b/translations/ja.json
index 9058a144c..329f7ecf7 100644
--- a/translations/ja.json
+++ b/translations/ja.json
@@ -10,9 +10,6 @@
 	"'none' driver does not support 'minikube ssh-host' command": "'none' ドライバーは 'minikube ssh-host' コマンドをサポートしていません",
 	"'{{.driver}}' driver reported a issue that could affect the performance.": "'{{.driver}}' ドライバーが性能に影響しうる問題を報告しました。",
 	"'{{.driver}}' driver reported an issue: {{.error}}": "'{{.driver}}' ドライバーがエラーを報告しました: {{.error}}",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube docker-env\" to point your docker-cli to the docker inside minikube.\n- \"minikube image\" to build images without docker.": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube image\" to build images without docker.": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube podman-env\" to point your podman-cli to the podman inside minikube.\n- \"minikube image\" to build images without docker.": "",
 	"- Delete and recreate minikube cluster\n\t\tminikube delete\n\t\tminikube start --driver={{.driver_name}}": "- minikube クラスターの削除と再作成をしてください\n\t\tminikube delete\n\t\tminikube start --driver={{.driver_name}}",
 	"- Docs https://docs.docker.com/docker-for-mac/#resources": "- ドキュメント https://docs.docker.com/docker-for-mac/#resources",
 	"- Docs https://docs.docker.com/docker-for-windows/#resources": "- ドキュメント https://docs.docker.com/docker-for-windows/#resources",
@@ -20,7 +17,6 @@
 	"- Prune unused {{.driver_name}} images, volumes, networks and abandoned containers.\n\n\t\t\t\t{{.driver_name}} system prune --volumes": "- 使用していない {{.driver_name}} イメージ、ボリューム、ネットワーク、コンテナーを削除してください。\n\n\t\t\t\t{{.driver_name}} system prune --volumes",
 	"- Restart your {{.driver_name}} service": "{{.driver_name}} サービスを再起動してください",
 	"- {{.logPath}}": "- {{.logPath}}",
-	"--container-runtime must be set to \\\"containerd\\\" or \\\"cri-o\\\" for rootless": "",
 	"--kvm-numa-count range is 1-8": "--kvm-numa-count の範囲は 1～8 です",
 	"--network flag is only valid with the docker/podman and KVM drivers, it will be ignored": "--network フラグは、docker/podman および KVM ドライバーでのみ有効であるため、無視されます",
 	"127.0.0.1": "127.0.0.1",
@@ -84,7 +80,6 @@
 	"Cannot find directory {{.path}} for copy": "",
 	"Cannot find directory {{.path}} for mount": "マウントのためのディレクトリ{{.path}}が見つかりません",
 	"Cannot use both --output and --format options": "",
-	"Cannot use the option --no-kubernetes on the {{.name}} driver": "",
 	"Certificate {{.certPath}} has expired. Generating a new one...": "",
 	"Check if you have unnecessary pods running by running 'kubectl get po -A": "",
 	"Check output of 'journalctl -xeu kubelet', try passing --extra-config=kubelet.cgroup-driver=systemd to minikube start": "",
@@ -102,57 +97,56 @@
 	"Configure environment to use minikube's Podman service": "minikube の Podman サービスを使うように環境を設定します",
 	"Configures the addon w/ADDON_NAME within minikube (example: minikube addons configure registry-creds). For a list of available addons use: minikube addons list": "",
 	"Configuring RBAC rules ...": "RBAC のルールを設定中です...",
-	"Configuring local host environment ...": "ローカルホスト環境を設定中です...",
-	"Configuring {{.name}} (Container Networking Interface) ...": "{{.name}} (コンテナーネットワークインターフェース) を設定中です...",
-	"Confirm that you have a working internet connection and that your VM has not run out of resources by using: 'minikube logs'": "'minikube logs' を使用して、インターネットに接続されていること、および VM のリソースが不足していないことを確認してください",
-	"Confirm that you have supplied the correct value to --hyperv-virtual-switch using the 'Get-VMSwitch' command": "'Get-VMSwitch' コマンドを使用して、--hyperv-virtual-switch に正しい値が入っていることを確認してください",
+	"Configuring local host environment ...": "",
+	"Configuring {{.name}} (Container Networking Interface) ...": "",
+	"Confirm that you have a working internet connection and that your VM has not run out of resources by using: 'minikube logs'": "",
+	"Confirm that you have supplied the correct value to --hyperv-virtual-switch using the 'Get-VMSwitch' command": "",
 	"Connect to LoadBalancer services": "LoadBalancer サービスに接続します",
-	"Consider creating a cluster with larger memory size using `minikube start --memory SIZE_MB` ": "`minikube start --memory SIZE_MB` を使用して、より大きなメモリーサイズのクラスターを作成することを検討してください",
-	"Consider increasing Docker Desktop's memory size.": "Docker Desktop のメモリーサイズを増やすことを検討してください。",
-	"Container runtime must be set to \\\"containerd\\\" for rootless": "rootless の場合、コンテナーランタイムを「containerd」に設定する必要があります",
-	"Continuously listing/getting the status with optional interval duration.": "任意のインターバル時間で、継続的にステータスをリストアップ/取得します。",
-	"Control Plane could not update, try minikube delete --all --purge": "コントロールプレーンがアップデートできません。minikube delete --all --purge を試してください",
-	"Copy the specified file into minikube": "指定したファイルを minikube にコピーします",
-	"Copy the specified file into minikube, it will be saved at path \u003ctarget file absolute path\u003e in your minikube.\\nExample Command : \\\"minikube cp a.txt /home/docker/b.txt\\\"\\n                  \\\"minikube cp a.txt minikube-m02:/home/docker/b.txt\\\"\\n": "指定したファイルを minikube にコピーします。ファイルは minikube 内の \u003ctarget file absolute path\u003e に保存されます。\\nコマンドの例: 「minikube cp a.txt /home/docker/b.txt」\\n              「minikube cp a.txt minikube-m02:/home/docker/b.txt」\\n",
-	"Could not determine a Google Cloud project, which might be ok.": "Google Cloud プロジェクトを特定できませんでしたが、問題はないかもしれません。",
-	"Could not find any GCP credentials. Either run `gcloud auth application-default login` or set the GOOGLE_APPLICATION_CREDENTIALS environment variable to the path of your credentials file.": "GCP の認証情報が見つかりませんでした。`gcloud auth application-default login` を実行するか、環境変数 GOOGLE_APPLICATION_CREDENTIALS に認証情報ファイルのパスを設定してください。",
-	"Could not process error from failed deletion": "削除の失敗によるエラーを処理できませんでした",
-	"Could not process errors from failed deletion": "削除の失敗によるエラーを処理できませんでした",
-	"Could not resolve IP address": "IP アドレスの解決ができませんでした",
-	"Country code of the image mirror to be used. Leave empty to use the global one. For Chinese mainland users, set it to cn.": "使用するイメージミラーの国コード。グローバルのものを使用する場合は空のままにします。中国本土のユーザーの場合は、cn に設定します。",
+	"Consider creating a cluster with larger memory size using `minikube start --memory SIZE_MB` ": "",
+	"Consider increasing Docker Desktop's memory size.": "",
+	"Container runtime must be set to \\\"containerd\\\" for rootless": "",
+	"Continuously listing/getting the status with optional interval duration.": "",
+	"Control Plane could not update, try minikube delete --all --purge": "",
+	"Copy the specified file into minikube": "",
+	"Copy the specified file into minikube, it will be saved at path \u003ctarget file absolute path\u003e in your minikube.\\nExample Command : \\\"minikube cp a.txt /home/docker/b.txt\\\"\\n                  \\\"minikube cp a.txt minikube-m02:/home/docker/b.txt\\\"\\n": "",
+	"Could not determine a Google Cloud project, which might be ok.": "",
+	"Could not find any GCP credentials. Either run `gcloud auth application-default login` or set the GOOGLE_APPLICATION_CREDENTIALS environment variable to the path of your credentials file.": "",
+	"Could not process error from failed deletion": "",
+	"Could not process errors from failed deletion": "",
+	"Could not resolve IP address": "",
+	"Country code of the image mirror to be used. Leave empty to use the global one. For Chinese mainland users, set it to cn.": "使用するイメージミラーの国コード。グローバルのものを使用する場合は空のままにします。中国本土のユーザーの場合は、「cn」に設定します",
 	"Creating mount {{.name}} ...": "マウント {{.name}} を作成しています...",
 	"Creating {{.driver_name}} {{.machine_type}} (CPUs={{.number_of_cpus}}, Memory={{.memory_size}}MB) ...": "{{.driver_name}} {{.machine_type}} (CPUs={{.number_of_cpus}}, Memory={{.memory_size}}MB) を作成しています...",
 	"Creating {{.driver_name}} {{.machine_type}} (CPUs={{.number_of_cpus}}, Memory={{.memory_size}}MB, Disk={{.disk_size}}MB) ...": "{{.driver_name}} {{.machine_type}} (CPUs={{.number_of_cpus}}, Memory={{.memory_size}}MB, Disk={{.disk_size}}MB) を作成しています...",
-	"Current context is \"{{.context}}\"": "現在のコンテキストは「{{.context}}」です",
-	"DEPRECATED, use `driver` instead.": "非推奨。代わりに `driver` を使用してください。",
-	"DEPRECATED: Replaced by --cni=bridge": "非推奨: --cni=bridge に置き換えられました",
+	"Current context is \"{{.context}}\"": "",
+	"DEPRECATED, use `driver` instead.": "非推奨。代わりに driver を使ってください",
+	"DEPRECATED: Replaced by --cni=bridge": "",
 	"Default group id used for the mount": "マウント時のデフォルトのグループ ID",
 	"Default user id used for the mount": "マウント時のデフォルトのユーザー ID",
-	"Delete an image from the local cache.": "ローカルのキャッシュからイメージを削除します。",
-	"Delete the existing '{{.name}}' cluster using: '{{.delcommand}}', or start the existing '{{.name}}' cluster using: '{{.command}} --driver={{.old}}'": "",
-	"Deletes a local Kubernetes cluster": "ローカルの Kubernetes クラスターを削除します",
-	"Deletes a local Kubernetes cluster. This command deletes the VM, and removes all\nassociated files.": "ローカルの Kubernetes クラスターを削除します。このコマンドによって、VM とそれに関連付けられているすべてのファイルが削除されます。",
-	"Deletes a node from a cluster.": "クラスターからノードを削除します。",
+	"Delete an image from the local cache.": "ローカルのキャッシュからイメージを削除します",
+	"Deletes a local Kubernetes cluster": "ローカルの Kubernetes クラスタを削除します",
+	"Deletes a local Kubernetes cluster. This command deletes the VM, and removes all\nassociated files.": "ローカルの Kubernetes クラスタを削除します。このコマンドによって、VM とそれに関連付けられているすべてのファイルが削除されます",
+	"Deletes a node from a cluster.": "ノードをクラスタから削除します",
 	"Deleting \"{{.profile_name}}\" in {{.driver_name}} ...": "{{.driver_name}} の「{{.profile_name}}」を削除しています...",
-	"Deleting container \"{{.name}}\" ...": "コンテナー「{{.name}}」を削除しています...",
-	"Deleting existing cluster {{.name}} with different driver {{.driver_name}} due to --delete-on-failure flag set by the user. ": "ユーザーが設定した --delete-on-failure フラグにより、異なるドライバー {{.driver_name}} を持つ既存のクラスター {{.name}} を削除しています。",
-	"Deleting node {{.name}} from cluster {{.cluster}}": "クラスター {{.cluster}} から、ノード {{.name}} を削除しています",
-	"Disable checking for the availability of hardware virtualization before the vm is started (virtualbox driver only)": "VM が起動する前にハードウェアの仮想化の可用性チェックを無効にします (virtualbox ドライバーのみ)",
-	"Disable dynamic memory in your VM manager, or pass in a larger --memory value": "VM マネージャーで動的メモリーを無効にするか、より大きな --memory の値を指定してください",
-	"Disables the addon w/ADDON_NAME within minikube (example: minikube addons disable dashboard). For a list of available addons use: minikube addons list ": "minikube 内の ADDON_NAME のアドオンを無効にします (例: minikube addons disable dashboard)。利用可能なアドオンのリストは、minikube addons list を使用してください",
-	"Disables the filesystem mounts provided by the hypervisors": "ハイパーバイザーによって提供されているファイルシステムのマウントを無効にします",
-	"Disk size allocated to the minikube VM (format: \u003cnumber\u003e[\u003cunit\u003e], where unit = b, k, m or g).": "minikube VM に割り当てられたディスクサイズ (形式: \u003cnumber\u003e[\u003cunit\u003e]、unit = b、k、m、g)。",
-	"Display dashboard URL instead of opening a browser": "ブラウザーで開く代わりにダッシュボードの URL を表示します",
-	"Display the Kubernetes addons URL in the CLI instead of opening it in the default browser": "Kubernetes のアドオンの URL を、デフォルトのブラウザーで開く代わりに CLI で表示します",
-	"Display the Kubernetes service URL in the CLI instead of opening it in the default browser": "Kubernetes のサービスの URL を、デフォルトのブラウザーで開く代わりに CLI で表示します",
+	"Deleting container \"{{.name}}\" ...": "コンテナ \"{{.name}}\" を削除しています...",
+	"Deleting existing cluster {{.name}} with different driver {{.driver_name}} due to --delete-on-failure flag set by the user. ": "",
+	"Deleting node {{.name}} from cluster {{.cluster}}": "{{.cluster}} クラスタから {{.name}} ノードを削除しています",
+	"Disable checking for the availability of hardware virtualization before the vm is started (virtualbox driver only)": "VM が起動する前にハードウェアの仮想化の可用性チェックを無効にします（virtualbox ドライバのみ）",
+	"Disable dynamic memory in your VM manager, or pass in a larger --memory value": "",
+	"Disables the addon w/ADDON_NAME within minikube (example: minikube addons disable dashboard). For a list of available addons use: minikube addons list ": "",
+	"Disables the filesystem mounts provided by the hypervisors": "ハイパーバイザによって指定されているファイル システム マウントを無効にします",
+	"Disk size allocated to the minikube VM (format: \u003cnumber\u003e[\u003cunit\u003e], where unit = b, k, m or g).": "minikube VM に割り当てられたディスクサイズ（形式: \u003cnumber\u003e[\u003cunit\u003e]、unit = b、k、m、g）です。",
+	"Display dashboard URL instead of opening a browser": "ブラウザで開く代わりにダッシュボードの URL を表示します",
+	"Display the Kubernetes addons URL in the CLI instead of opening it in the default browser": "",
+	"Display the Kubernetes service URL in the CLI instead of opening it in the default browser": "",
 	"Display values currently set in the minikube config file": "現在の minikube の設定ファイルにセットされている値を表示します",
-	"Display values currently set in the minikube config file.": "現在の minikube の設定ファイルにセットされている値を表示します。",
-	"Docker Desktop has less than 2 CPUs configured, but Kubernetes requires at least 2 to be available": "Docker Desktop では 2 つ未満の CPU が設定されていますが、Kubernetes では少なくとも 2 つ必要です",
-	"Docker Desktop is configured for Windows containers, but Linux containers are required for minikube": "Docker Desktop は Windows コンテナー用に設定されていますが、minikube には Linux コンテナーが必要です",
-	"Docker Desktop only has {{.size}}MiB available, less than the required {{.req}}MiB for Kubernetes": "Docker Desktop では {{.size}}MiB しか利用できず、Kubernetes に必要な {{.req}}MiB より少ないです",
-	"Docker Desktop only has {{.size}}MiB available, you may encounter application deployment failures.": "Docker Desktop では {{.size}}MiB しか利用できないため、アプリケーションのデプロイに失敗することがあります。",
-	"Docker container exited prematurely after it was created, consider investigating Docker's performance/health.": "Docker コンテナーは、作成後に途中で終了しました。Docker の動作や状態の調査を検討してください。",
-	"Docker has less than 2 CPUs available, but Kubernetes requires at least 2 to be available": "Docker は 2 つ未満の CPU で利用可能ですが、Kubernetes では少なくとも 2 つ必要です",
+	"Display values currently set in the minikube config file.": "",
+	"Docker Desktop has less than 2 CPUs configured, but Kubernetes requires at least 2 to be available": "",
+	"Docker Desktop is configured for Windows containers, but Linux containers are required for minikube": "",
+	"Docker Desktop only has {{.size}}MiB available, less than the required {{.req}}MiB for Kubernetes": "",
+	"Docker Desktop only has {{.size}}MiB available, you may encounter application deployment failures.": "",
+	"Docker container exited prematurely after it was created, consider investigating Docker's performance/health.": "",
+	"Docker has less than 2 CPUs available, but Kubernetes requires at least 2 to be available": "",
 	"Docker inside the VM is unavailable. Try running 'minikube delete' to reset the VM.": "",
 	"Docs have been saved at - {{.path}}": "ドキュメントは以下のパスに保存されました。{{.path}}",
 	"Documentation: {{.url}}": "ドキュメント: {{.url}}",
@@ -697,7 +691,6 @@
 	"The value passed to --format is invalid": "",
 	"The value passed to --format is invalid: {{.error}}": "",
 	"The {{.driver_name}} driver should not be used with root privileges.": "{{.driver_name}} ドライバをルート権限で使用しないでください",
-	"There are a couple ways to enable the required file sharing:\n1. Enable \"Use the WSL 2 based engine\" in Docker Desktop\nor\n2. Enable file sharing in Docker Desktop for the %s%s directory": "",
 	"There's a new version for '{{.driver_executable}}'. Please consider upgrading. {{.documentation_url}}": "「{{.driver_executable}}」の新しいバージョンがあります。アップグレードを検討してください。{{.documentation_url}}",
 	"These --extra-config parameters are invalid: {{.invalid_extra_opts}}": "",
 	"These changes will take effect upon a minikube delete and then a minikube start": "",
diff --git a/translations/ko.json b/translations/ko.json
index f5feec870..42cd2d29b 100644
--- a/translations/ko.json
+++ b/translations/ko.json
@@ -14,9 +14,6 @@
 	"'none' driver does not support 'minikube ssh-host' command": "'none' 드라이버는 'minikube ssh-host' 명령어를 지원하지 않습니다",
 	"'{{.driver}}' driver reported an issue: {{.error}}": "'{{.driver}}' 드라이버가 다음 이슈를 기록하였습니다: {{.error}}",
 	"'{{.profile}}' is not running": "'{{.profile}}' 이 실행 중이지 않습니다",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube docker-env\" to point your docker-cli to the docker inside minikube.\n- \"minikube image\" to build images without docker.": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube image\" to build images without docker.": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube podman-env\" to point your podman-cli to the podman inside minikube.\n- \"minikube image\" to build images without docker.": "",
 	"- Delete and recreate minikube cluster\n\t\tminikube delete\n\t\tminikube start --driver={{.driver_name}}": "minikube 클러스터를 삭제하고 재생성합니다.\n\t\tminikube를 삭제합니다.\n\t\tminikube start --driver={{.driver_name}}",
 	"- Docs https://docs.docker.com/docker-for-mac/#resources": "- 문서: https://docs.docker.com/docker-for-mac/#resources",
 	"- Docs https://docs.docker.com/docker-for-windows/#resources": "- 문서: https://docs.docker.com/docker-for-windows/#resources",
@@ -24,7 +21,6 @@
 	"- Prune unused {{.driver_name}} images, volumes, networks and abandoned containers.\n\n\t\t\t\t{{.driver_name}} system prune --volumes": "",
 	"- Restart your {{.driver_name}} service": "{{.driver_name}} 서비스를 다시 시작하세요",
 	"- {{.logPath}}": "",
-	"--container-runtime must be set to \\\"containerd\\\" or \\\"cri-o\\\" for rootless": "",
 	"--kvm-numa-count range is 1-8": "--kvm-numa-count 범위는 1부터 8입니다",
 	"--network flag is only valid with the docker/podman and KVM drivers, it will be ignored": "",
 	"127.0.0.1": "",
@@ -89,7 +85,6 @@
 	"Cannot find directory {{.path}} for copy": "복사하기 위한 디렉토리 {{.path}} 를 찾을 수 없습니다.",
 	"Cannot find directory {{.path}} for mount": "마운트하기 위한 디렉토리 {{.path}} 를 찾을 수 없습니다",
 	"Cannot use both --output and --format options": "--output 과 --format 옵션을 함께 사용할 수 없습니다",
-	"Cannot use the option --no-kubernetes on the {{.name}} driver": "",
 	"Certificate {{.certPath}} has expired. Generating a new one...": "",
 	"Check if you have unnecessary pods running by running 'kubectl get po -A": "",
 	"Check output of 'journalctl -xeu kubelet', try passing --extra-config=kubelet.cgroup-driver=systemd to minikube start": "",
@@ -116,6 +111,7 @@
 	"Connect to LoadBalancer services": "",
 	"Consider creating a cluster with larger memory size using `minikube start --memory SIZE_MB` ": "",
 	"Consider increasing Docker Desktop's memory size.": "",
+	"Container runtime must be set to \\\"containerd\\\" for rootless": "",
 	"Continuously listing/getting the status with optional interval duration.": "",
 	"Control Plane could not update, try minikube delete --all --purge": "",
 	"Copy the specified file into minikube": "",
@@ -137,7 +133,6 @@
 	"Default group id used for the mount": "마운트를 위한 디폴트 group id",
 	"Default user id used for the mount": "마운트를 위한 디폴트 user id",
 	"Delete an image from the local cache.": "로컬 캐시에서 이미지를 삭제합니다",
-	"Delete the existing '{{.name}}' cluster using: '{{.delcommand}}', or start the existing '{{.name}}' cluster using: '{{.command}} --driver={{.old}}'": "",
 	"Deletes a local Kubernetes cluster": "로컬 쿠버네티스 클러스터를 삭제합니다",
 	"Deletes a local Kubernetes cluster. This command deletes the VM, and removes all\nassociated files.": "로컬 쿠버네티스 클러스터를 삭제합니다. 해당 명령어는 가상 머신을 삭제하고 모든 관련 파일을 삭제합니다",
 	"Deletes a local kubernetes cluster": "로컬 쿠버네티스 클러스터를 삭제합니다",
@@ -706,7 +701,6 @@
 	"The time interval for each check that wait performs in seconds": "",
 	"The value passed to --format is invalid": "",
 	"The value passed to --format is invalid: {{.error}}": "",
-	"There are a couple ways to enable the required file sharing:\n1. Enable \"Use the WSL 2 based engine\" in Docker Desktop\nor\n2. Enable file sharing in Docker Desktop for the %s%s directory": "",
 	"These --extra-config parameters are invalid: {{.invalid_extra_opts}}": "",
 	"These changes will take effect upon a minikube delete and then a minikube start": "",
 	"Things to try without Kubernetes ...": "",
diff --git a/translations/pl.json b/translations/pl.json
index 172178b1b..11a68e709 100644
--- a/translations/pl.json
+++ b/translations/pl.json
@@ -13,9 +13,6 @@
 	"'none' driver does not support 'minikube podman-env' command": "",
 	"'none' driver does not support 'minikube ssh' command": "sterownik 'none' nie wspiera komendy 'minikube ssh'",
 	"'none' driver does not support 'minikube ssh-host' command": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube docker-env\" to point your docker-cli to the docker inside minikube.\n- \"minikube image\" to build images without docker.": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube image\" to build images without docker.": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube podman-env\" to point your podman-cli to the podman inside minikube.\n- \"minikube image\" to build images without docker.": "",
 	"- Delete and recreate minikube cluster\n\t\tminikube delete\n\t\tminikube start --driver={{.driver_name}}": "",
 	"- Docs https://docs.docker.com/docker-for-mac/#resources": "",
 	"- Docs https://docs.docker.com/docker-for-windows/#resources": "",
@@ -23,7 +20,6 @@
 	"- Prune unused {{.driver_name}} images, volumes, networks and abandoned containers.\n\n\t\t\t\t{{.driver_name}} system prune --volumes": "",
 	"- Restart your {{.driver_name}} service": "",
 	"- {{.logPath}}": "",
-	"--container-runtime must be set to \\\"containerd\\\" or \\\"cri-o\\\" for rootless": "",
 	"--kvm-numa-count range is 1-8": "",
 	"--network flag is only valid with the docker/podman and KVM drivers, it will be ignored": "",
 	"127.0.0.1": "",
@@ -86,7 +82,6 @@
 	"Cannot find directory {{.path}} for copy": "Nie znaleziono katalogu {{.path}} do skopiowania",
 	"Cannot find directory {{.path}} for mount": "Nie można odnaleźć folderu {{.path}} do zamontowania",
 	"Cannot use both --output and --format options": "Nie można użyć obydwu opcji --output i --format jednocześnie",
-	"Cannot use the option --no-kubernetes on the {{.name}} driver": "",
 	"Certificate {{.certPath}} has expired. Generating a new one...": "",
 	"Check if you have unnecessary pods running by running 'kubectl get po -A": "Sprawdź czy są uruchomione jakieś niepotrzebne pody za pomocą komendy: 'kubectl get pod -A' ",
 	"Check output of 'journalctl -xeu kubelet', try passing --extra-config=kubelet.cgroup-driver=systemd to minikube start": "",
@@ -113,6 +108,7 @@
 	"Connect to LoadBalancer services": "Połącz się do serwisów LoadBalancer'a",
 	"Consider creating a cluster with larger memory size using `minikube start --memory SIZE_MB` ": "",
 	"Consider increasing Docker Desktop's memory size.": "Rozważ przydzielenie większej ilości pamięci RAM dla programu Docker Desktop",
+	"Container runtime must be set to \\\"containerd\\\" for rootless": "",
 	"Continuously listing/getting the status with optional interval duration.": "",
 	"Control Plane could not update, try minikube delete --all --purge": "",
 	"Copy the specified file into minikube": "Skopiuj dany plik do minikube",
@@ -135,7 +131,6 @@
 	"Default group id used for the mount": "Domyślne id groupy użyte dla montowania",
 	"Default user id used for the mount": "Domyślne id użytkownika użyte dla montowania ",
 	"Delete an image from the local cache.": "Usuń obraz z lokalnego cache'a",
-	"Delete the existing '{{.name}}' cluster using: '{{.delcommand}}', or start the existing '{{.name}}' cluster using: '{{.command}} --driver={{.old}}'": "",
 	"Deletes a local Kubernetes cluster": "Usuwa lokalny klaster Kubernetesa",
 	"Deletes a local Kubernetes cluster. This command deletes the VM, and removes all\nassociated files.": "",
 	"Deletes a local kubernetes cluster": "Usuwa lokalny klaster Kubernetesa",
@@ -715,7 +710,6 @@
 	"The value passed to --format is invalid": "Wartość przekazana do --format jest nieprawidłowa",
 	"The value passed to --format is invalid: {{.error}}": "Wartość przekazana do --format jest nieprawidłowa: {{.error}}",
 	"The {{.driver_name}} driver should not be used with root privileges.": "{{.driver_name}} nie powinien być używany z przywilejami root'a.",
-	"There are a couple ways to enable the required file sharing:\n1. Enable \"Use the WSL 2 based engine\" in Docker Desktop\nor\n2. Enable file sharing in Docker Desktop for the %s%s directory": "",
 	"These --extra-config parameters are invalid: {{.invalid_extra_opts}}": "",
 	"These changes will take effect upon a minikube delete and then a minikube start": "",
 	"Things to try without Kubernetes ...": "",
diff --git a/translations/strings.txt b/translations/strings.txt
index 10a60adb7..d3010ce7b 100644
--- a/translations/strings.txt
+++ b/translations/strings.txt
@@ -8,9 +8,6 @@
 	"'none' driver does not support 'minikube podman-env' command": "",
 	"'none' driver does not support 'minikube ssh' command": "",
 	"'none' driver does not support 'minikube ssh-host' command": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube docker-env\" to point your docker-cli to the docker inside minikube.\n- \"minikube image\" to build images without docker.": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube image\" to build images without docker.": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube podman-env\" to point your podman-cli to the podman inside minikube.\n- \"minikube image\" to build images without docker.": "",
 	"- Delete and recreate minikube cluster\n\t\tminikube delete\n\t\tminikube start --driver={{.driver_name}}": "",
 	"- Docs https://docs.docker.com/docker-for-mac/#resources": "",
 	"- Docs https://docs.docker.com/docker-for-windows/#resources": "",
@@ -18,7 +15,6 @@
 	"- Prune unused {{.driver_name}} images, volumes, networks and abandoned containers.\n\n\t\t\t\t{{.driver_name}} system prune --volumes": "",
 	"- Restart your {{.driver_name}} service": "",
 	"- {{.logPath}}": "",
-	"--container-runtime must be set to \\\"containerd\\\" or \\\"cri-o\\\" for rootless": "",
 	"--kvm-numa-count range is 1-8": "",
 	"--network flag is only valid with the docker/podman and KVM drivers, it will be ignored": "",
 	"127.0.0.1": "",
@@ -80,7 +76,6 @@
 	"Cannot find directory {{.path}} for copy": "",
 	"Cannot find directory {{.path}} for mount": "",
 	"Cannot use both --output and --format options": "",
-	"Cannot use the option --no-kubernetes on the {{.name}} driver": "",
 	"Certificate {{.certPath}} has expired. Generating a new one...": "",
 	"Check if you have unnecessary pods running by running 'kubectl get po -A": "",
 	"Check output of 'journalctl -xeu kubelet', try passing --extra-config=kubelet.cgroup-driver=systemd to minikube start": "",
@@ -105,6 +100,7 @@
 	"Connect to LoadBalancer services": "",
 	"Consider creating a cluster with larger memory size using `minikube start --memory SIZE_MB` ": "",
 	"Consider increasing Docker Desktop's memory size.": "",
+	"Container runtime must be set to \\\"containerd\\\" for rootless": "",
 	"Continuously listing/getting the status with optional interval duration.": "",
 	"Control Plane could not update, try minikube delete --all --purge": "",
 	"Copy the specified file into minikube": "",
@@ -124,7 +120,6 @@
 	"Default group id used for the mount": "",
 	"Default user id used for the mount": "",
 	"Delete an image from the local cache.": "",
-	"Delete the existing '{{.name}}' cluster using: '{{.delcommand}}', or start the existing '{{.name}}' cluster using: '{{.command}} --driver={{.old}}'": "",
 	"Deletes a local Kubernetes cluster": "",
 	"Deletes a local Kubernetes cluster. This command deletes the VM, and removes all\nassociated files.": "",
 	"Deletes a node from a cluster.": "",
@@ -652,7 +647,6 @@
 	"The time interval for each check that wait performs in seconds": "",
 	"The value passed to --format is invalid": "",
 	"The value passed to --format is invalid: {{.error}}": "",
-	"There are a couple ways to enable the required file sharing:\n1. Enable \"Use the WSL 2 based engine\" in Docker Desktop\nor\n2. Enable file sharing in Docker Desktop for the %s%s directory": "",
 	"These --extra-config parameters are invalid: {{.invalid_extra_opts}}": "",
 	"These changes will take effect upon a minikube delete and then a minikube start": "",
 	"Things to try without Kubernetes ...": "",
diff --git a/translations/zh-CN.json b/translations/zh-CN.json
index 5f0207d53..2f8fc7147 100644
--- a/translations/zh-CN.json
+++ b/translations/zh-CN.json
@@ -15,9 +15,6 @@
 	"'none' driver does not support 'minikube ssh' command": "'none' 驱动不支持 'minikube ssh' 命令",
 	"'none' driver does not support 'minikube ssh-host' command": "",
 	"'{{.driver}}' driver reported an issue: {{.error}}": "'{{.driver}}' 驱动程序报告了一个问题： {{.error}}",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube docker-env\" to point your docker-cli to the docker inside minikube.\n- \"minikube image\" to build images without docker.": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube image\" to build images without docker.": "",
-	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube podman-env\" to point your podman-cli to the podman inside minikube.\n- \"minikube image\" to build images without docker.": "",
 	"- Delete and recreate minikube cluster\n\t\tminikube delete\n\t\tminikube start --driver={{.driver_name}}": "",
 	"- Docs https://docs.docker.com/docker-for-mac/#resources": "",
 	"- Docs https://docs.docker.com/docker-for-windows/#resources": "",
@@ -25,7 +22,6 @@
 	"- Prune unused {{.driver_name}} images, volumes, networks and abandoned containers.\n\n\t\t\t\t{{.driver_name}} system prune --volumes": "",
 	"- Restart your {{.driver_name}} service": "- 重启你的 {{.driver_name}} 服务",
 	"- {{.logPath}}": "",
-	"--container-runtime must be set to \\\"containerd\\\" or \\\"cri-o\\\" for rootless": "",
 	"--kvm-numa-count range is 1-8": "",
 	"--network flag is only valid with the docker/podman and KVM drivers, it will be ignored": "",
 	"127.0.0.1": "",
@@ -100,7 +96,6 @@
 	"Cannot find directory {{.path}} for copy": "",
 	"Cannot find directory {{.path}} for mount": "找不到用来挂载的 {{.path}} 目录",
 	"Cannot use both --output and --format options": "不能同时使用 --output 和 --format 选项",
-	"Cannot use the option --no-kubernetes on the {{.name}} driver": "",
 	"Certificate {{.certPath}} has expired. Generating a new one...": "",
 	"Check if you have unnecessary pods running by running 'kubectl get po -A": "",
 	"Check output of 'journalctl -xeu kubelet', try passing --extra-config=kubelet.cgroup-driver=systemd to minikube start": "检查 'journalctl -xeu kubelet' 的输出，尝试启动 minikube 时添加参数 --extra-config=kubelet.cgroup-driver=systemd",
@@ -132,6 +127,7 @@
 	"Connect to LoadBalancer services": "连接到 LoadBalancer 服务",
 	"Consider creating a cluster with larger memory size using `minikube start --memory SIZE_MB` ": "",
 	"Consider increasing Docker Desktop's memory size.": "",
+	"Container runtime must be set to \\\"containerd\\\" for rootless": "",
 	"Continuously listing/getting the status with optional interval duration.": "",
 	"Control Plane could not update, try minikube delete --all --purge": "",
 	"Copy the specified file into minikube": "",
@@ -156,7 +152,6 @@
 	"Default group id used for the mount": "用于挂载默认的 group id",
 	"Default user id used for the mount": "用于挂载默认的 user id",
 	"Delete an image from the local cache.": "从本地缓存中删除 image。",
-	"Delete the existing '{{.name}}' cluster using: '{{.delcommand}}', or start the existing '{{.name}}' cluster using: '{{.command}} --driver={{.old}}'": "",
 	"Deletes a local Kubernetes cluster": "",
 	"Deletes a local Kubernetes cluster. This command deletes the VM, and removes all\nassociated files.": "",
 	"Deletes a local kubernetes cluster": "删除本地的 kubernetes 集群",
@@ -803,7 +798,6 @@
 	"The value passed to --format is invalid": "",
 	"The value passed to --format is invalid: {{.error}}": "",
 	"The {{.driver_name}} driver should not be used with root privileges.": "不应以根权限使用 {{.driver_name}} 驱动程序。",
-	"There are a couple ways to enable the required file sharing:\n1. Enable \"Use the WSL 2 based engine\" in Docker Desktop\nor\n2. Enable file sharing in Docker Desktop for the %s%s directory": "",
 	"There's a new version for '{{.driver_executable}}'. Please consider upgrading. {{.documentation_url}}": "“{{.driver_executable}}”有一个新版本。请考虑升级。{{.documentation_url}}",
 	"These --extra-config parameters are invalid: {{.invalid_extra_opts}}": "",
 	"These changes will take effect upon a minikube delete and then a minikube start": "",


Test patch:
diff --git a/cmd/minikube/cmd/docker-env_test.go b/cmd/minikube/cmd/docker-env_test.go
index e0fbb6780..e36d61cdf 100644
--- a/cmd/minikube/cmd/docker-env_test.go
+++ b/cmd/minikube/cmd/docker-env_test.go
@@ -155,7 +155,7 @@ $Env:DOCKER_HOST = "tcp://192.168.0.1:2376"
 $Env:DOCKER_CERT_PATH = "/certs"
 $Env:MINIKUBE_ACTIVE_DOCKERD = "powershell"
 # To point your shell to minikube's docker-daemon, run:
-# & minikube -p powershell docker-env | Invoke-Expression
+# & minikube -p powershell docker-env --shell powershell | Invoke-Expression
 `,
 
 			`Remove-Item Env:\\DOCKER_TLS_VERIFY
@@ -175,7 +175,7 @@ SET DOCKER_HOST=tcp://192.168.0.1:2376
 SET DOCKER_CERT_PATH=/certs
 SET MINIKUBE_ACTIVE_DOCKERD=cmd
 REM To point your shell to minikube's docker-daemon, run:
-REM @FOR /f "tokens=*" %i IN ('minikube -p cmd docker-env') DO @%i
+REM @FOR /f "tokens=*" %i IN ('minikube -p cmd docker-env --shell cmd') DO @%i
 `,
 
 			`SET DOCKER_TLS_VERIFY=
@@ -261,7 +261,7 @@ $Env:DOCKER_CERT_PATH = "/certs"
 $Env:MINIKUBE_ACTIVE_DOCKERD = "powershell-no-proxy-idempotent"
 $Env:no_proxy = "192.168.0.1"
 # To point your shell to minikube's docker-daemon, run:
-# & minikube -p powershell-no-proxy-idempotent docker-env | Invoke-Expression
+# & minikube -p powershell-no-proxy-idempotent docker-env --shell powershell | Invoke-Expression
 `,
 
 			`Remove-Item Env:\\DOCKER_TLS_VERIFY
diff --git a/pkg/minikube/shell/shell_test.go b/pkg/minikube/shell/shell_test.go
index 30aac5148..c926df79e 100644
--- a/pkg/minikube/shell/shell_test.go
+++ b/pkg/minikube/shell/shell_test.go
@@ -31,11 +31,11 @@ func TestGenerateUsageHint(t *testing.T) {
 		{EnvConfig{""}, `# foo
 # eval $(bar)`},
 		{EnvConfig{"powershell"}, `# foo
-# & bar | Invoke-Expression`},
+# & bar --shell powershell | Invoke-Expression`},
 		{EnvConfig{"bash"}, `# foo
 # eval $(bar)`},
-		{EnvConfig{"powershell"}, `# foo
-# & bar | Invoke-Expression`},
+		{EnvConfig{"cmd"}, `REM foo
+REM @FOR /f "tokens=*" %i IN ('bar --shell cmd') DO @%i`},
 		{EnvConfig{"emacs"}, `;; foo
 ;; (with-temp-buffer (shell-command "bar" (current-buffer)) (eval-buffer))`},
 		{EnvConfig{"fish"}, `# foo
diff --git a/test/integration/scheduled_stop_test.go b/test/integration/scheduled_stop_test.go
index 33b95e3da..de5183cd0 100644
--- a/test/integration/scheduled_stop_test.go
+++ b/test/integration/scheduled_stop_test.go
@@ -94,30 +94,29 @@ func TestScheduledStopUnix(t *testing.T) {
 	}
 
 	// schedule a second stop which should cancel the first scheduled stop
-	stopMinikube(ctx, t, profile, []string{"--schedule", "15s"})
+	stopMinikube(ctx, t, profile, []string{"--schedule", "8s"})
 	if processRunning(t, pid) {
 		t.Fatalf("process %v running but should have been killed on reschedule of stop", pid)
 	}
-	pid = checkPID(t, profile)
+	checkPID(t, profile)
 
 	// cancel the shutdown and make sure minikube is still running after 8 seconds
 	// sleep 12 just to be safe
 	stopMinikube(ctx, t, profile, []string{"--cancel-scheduled"})
-	time.Sleep(25 * time.Second)
+	time.Sleep(12 * time.Second)
 	// make sure minikube status is "Running"
 	ensureMinikubeStatus(ctx, t, profile, "Host", state.Running.String())
 	// make sure minikube timetoStop is not present
 	ensureTimeToStopNotPresent(ctx, t, profile)
 
 	// schedule another stop, make sure minikube status is "Stopped"
-	stopMinikube(ctx, t, profile, []string{"--schedule", "15s"})
-	time.Sleep(15 * time.Second)
+	stopMinikube(ctx, t, profile, []string{"--schedule", "5s"})
 	if processRunning(t, pid) {
 		t.Fatalf("process %v running but should have been killed on reschedule of stop", pid)
 	}
 
 	// wait for stop to complete
-	time.Sleep(30 * time.Second)
+	time.Sleep(25 * time.Second)
 	// make sure minikube timetoStop is not present
 	ensureTimeToStopNotPresent(ctx, t, profile)
 	// make sure minikube status is "Stopped"
diff --git a/test/integration/version_upgrade_test.go b/test/integration/version_upgrade_test.go
index 7e3b7d4aa..e3812f537 100644
--- a/test/integration/version_upgrade_test.go
+++ b/test/integration/version_upgrade_test.go
@@ -154,14 +154,10 @@ func TestStoppedBinaryUpgrade(t *testing.T) {
 	defer CleanupWithLogs(t, profile, cancel)
 
 	desiredLegacyVersion := legacyVersion()
-	var tf *os.File
-	t.Run("Setup", func(t *testing.T) {
-		var err error
-		tf, err = installRelease(desiredLegacyVersion)
-		if err != nil {
-			t.Fatalf("%s release installation failed: %v", desiredLegacyVersion, err)
-		}
-	})
+	tf, err := installRelease(desiredLegacyVersion)
+	if err != nil {
+		t.Fatalf("%s release installation failed: %v", desiredLegacyVersion, err)
+	}
 	defer os.Remove(tf.Name())
 
 	t.Run("Upgrade", func(t *testing.T) {
@@ -196,7 +192,7 @@ func TestStoppedBinaryUpgrade(t *testing.T) {
 			t.Fatalf("legacy %s start failed: %v", desiredLegacyVersion, err)
 		}
 
-		rr, err := Run(t, exec.CommandContext(ctx, tf.Name(), "-p", profile, "stop"))
+		rr, err = Run(t, exec.CommandContext(ctx, tf.Name(), "-p", profile, "stop"))
 		if err != nil {
 			t.Errorf("failed to stop cluster: %s: %v", rr.Command(), err)
 		}