@@ -16,13 +16,15 @@ using a package manager, Docker image, or from sources with `go install`:
1616
1717 ```sh
1818 curl -Lo upcloud-cli_{{ latest_release }}_amd64.deb https://github.com/UpCloudLtd/upcloud-cli/releases/download/v{{ latest_release }}/upcloud-cli_{{ latest_release }}_amd64.deb
19+ # Preferably verify the asset before proceeding with install, see "Verify assets" below
1920 sudo apt install ./upcloud-cli_{{ latest_release }}_amd64.deb
2021 ```
2122
2223 On RHEL based distributions, use the `.rpm` package.
2324
2425 ```sh
2526 curl -Lo upcloud-cli-{{ latest_release }}-1.x86_64.rpm https://github.com/UpCloudLtd/upcloud-cli/releases/download/v{{ latest_release }}/upcloud-cli-{{ latest_release }}-1.x86_64.rpm
27+ # Preferably verify the asset before proceeding with install, see "Verify assets" below
2628 sudo dnf install ./upcloud-cli-{{ latest_release }}-1.x86_64.rpm
2729 ```
2830
@@ -41,6 +43,7 @@ using a package manager, Docker image, or from sources with `go install`:
4143
4244 ```pwsh
4345 Invoke-WebRequest -Uri "https://github.com/UpCloudLtd/upcloud-cli/releases/download/v{{ latest_release }}/upcloud-cli_{{ latest_release }}_windows_x86_64.zip" -OutFile "upcloud-cli_{{ latest_release }}_windows_x86_64.zip"
46+ # Preferably verify the asset before proceeding with install, see "Verify assets" below
4447 Expand-Archive -Path "upcloud-cli_{{ latest_release }}_windows_x86_64.zip"
4548
4649 # Print current location
@@ -106,6 +109,35 @@ After installing `upctl`, you can run `upctl version` command to verify that the
106109upctl version
107110```
108111
112+ ### Verify assets
113+
114+ [ GitHub artifact attestations] ( https://docs.github.com/en/actions/security-for-github-actions/using-artifact-attestations )
115+ and plain old checksum files are available for verifying release assets.
116+
117+ === "Attestations"
118+
119+ [Release asset artifact attestations](https://github.com/UpCloudLtd/upcloud-cli/attestations)
120+ can be verified for example with the [GitHub CLI](https://github.com/cli/cli),
121+ using the Linux x86_64 asset as an example:
122+
123+ ```sh
124+ gh attestation verify \
125+ /path/to/locally/downloaded/upcloud-cli_{{ latest_release }}_linux_x86_64.tar.gz \
126+ --repo UpCloudLtd/upcloud-cli
127+ ```
128+
129+ Attestations are available starting from version 3.16.0.
130+
131+ === "Digests"
132+
133+ Release assets' SHA-256 digests are available in releases,
134+ in asset named `checksums.txt`. They can be checked for example with:
135+
136+ ```sh
137+ # make sure at least one downloaded asset and checksums.txt are in the current directory
138+ sha256sum -c --ignore-missing checksums.txt
139+ ```
140+
109141### Configure shell completions
110142
111143` upctl ` provides shell completions for multiple shells. Run ` upctl completion --help ` to list the supported shells.
0 commit comments