Change:
### Install kubectl binary with curl on Windows <del> 1. Download the latest release {{< param "fullversion" >}} from [this link](https://storage.googleapis.com/kubernetes-release/release/{{< param "fullversion" >}}/bin/windows/amd64/kubectl.exe). </del> <ins> 1. Download the [latest release {{< param "fullversion" >}}](https://dl.k8s.io/release/{{< param "fullversion" >}}/bin/windows/amd64/kubectl.exe). </ins> Or if you have `curl` installed, use this command: <del> ```bash curl -LO https://storage.googleapis.com/kubernetes-release/release/{{< param "fullversion" >}}/bin/windows/amd64/kubectl.exe </del> <ins> ```powershell curl -LO https://dl.k8s.io/release/{{< param "fullversion" >}}/bin/windows/amd64/kubectl.exe </ins> ``` <del> To find out the latest stable version (for example, for scripting), take a look at [https://storage.googleapis.com/kubernetes-release/release/stable.txt](https://storage.googleapis.com/kubernetes-release/release/stable.txt). </del> <ins> {{< note >}} To find out the latest stable version (for example, for scripting), take a look at [https://dl.k8s.io/release/stable.txt](https://dl.k8s.io/release/stable.txt). {{< /note >}} </ins> <del> 2. Add the binary in to your PATH. </del> <ins> 1. Validate the binary (optional) </ins> <del> 3. Test to ensure the version of `kubectl` is the same as downloaded: </del> <ins> Download the kubectl checksum file: </ins> <del> ```bash </del> <ins> ```powershell curl -LO https://dl.k8s.io/{{< param "fullversion" >}}/bin/windows/amd64/kubectl.exe.sha256 ``` Validate the kubectl binary against the checksum file: - Using Command Prompt to manually compare `CertUtil`'s output to the checksum file downloaded: ```cmd CertUtil -hashfile kubectl.exe SHA256 type kubectl.exe.sha256 ``` - Using PowerShell to automate the verification using the `-eq` operator to get a `True` or `False` result: ```powershell $($(CertUtil -hashfile .kubectl.exe SHA256)[1] -replace " ", "") -eq $(type .kubectl.exe.sha256) ``` 1. Add the binary in to your `PATH`. 1. Test to ensure the version of `kubectl` is the same as downloaded: ```cmd </ins> kubectl version --client ``` {{< note >}} <del> [Docker Desktop for Windows](https://docs.docker.com/docker-for-windows/#kubernetes) adds its own version of `kubectl` to PATH. If you have installed Docker Desktop before, you may need to place your PATH entry before the one added by the Docker Desktop installer or remove the Docker Desktop's `kubectl`. </del> <ins> [Docker Desktop for Windows](https://docs.docker.com/docker-for-windows/#kubernetes) adds its own version of `kubectl` to `PATH`. If you have installed Docker Desktop before, you may need to place your `PATH` entry before the one added by the Docker Desktop installer or remove the Docker Desktop's `kubectl`. </ins> {{< /note >}} <del> ### Install with Powershell from PSGallery </del> <ins> ### Install with PowerShell from PSGallery </ins> <del> If you are on Windows and using [Powershell Gallery](https://www.powershellgallery.com/) package manager, you can install and update kubectl with Powershell. </del> <ins> If you are on Windows and using the [PowerShell Gallery](https://www.powershellgallery.com/) package manager, you can install and update kubectl with PowerShell. </ins> 1. Run the installation commands (making sure to specify a `DownloadLocation`): ```powershell Install-Script -Name 'install-kubectl' -Scope CurrentUser -Force install-kubectl.ps1 [-DownloadLocation <path>] <del> ``` </del> <ins> ``` </ins> {{< note >}} <del> If you do not specify a `DownloadLocation`, `kubectl` will be installed in the user's temp Directory. </del> <ins> If you do not specify a `DownloadLocation`, `kubectl` will be installed in the user's `temp` Directory. </ins> {{< /note >}} The installer creates `$HOME/.kube` and instructs it to create a config file. <del> 2. Test to ensure the version you installed is up-to-date: </del> <ins> 1. Test to ensure the version you installed is up-to-date: </ins> ```powershell kubectl version --client

Discussion:
There are no details or instructions on how to validate the binary downloaded from this page via some form of checksum, sha256 or otherwise. For automation purposes, eg. ansible playbook, being able to validate any binary downloads is a requirement of project stakeholders.
The site doesn't allow browsing, but the file is there as kubectl.sha256 afterall. Might be worth mentioning this in the document?
/retitle Document how to validate kubectl binary against checksum / signature /language en /kind feature /triage accepted The page in question is
To fix this: update to use download links from for example also explain to readers that checksum files are available that they can use to compare binaries obtained from elsewhere for example The and shortcodes are useful for automatically filling in the current Kubernetes version. /help /sig cli
This request has been marked as needing help from a contributor. Please ensure the request meets the requirements listed . If this request no longer meets these requirements, the label can be removed by commenting with the command. <detailsIn response to : To fix this: update to use download links from explain to readers that checksum files are available that they can use to compare binaries obtained from elsewhere /sig cli Instructions for interacting with me using PR comments are available . If you have questions or suggestions related to my behavior, please file an issue against the repository. </details
I may be able to help with this /assign