hd is a HTTP download tool.
It can download/install from GitHub release assets. For example:
hd get jenkins-zh/jenkins-cli/jcli -t 6
Consider the naming of asset files are not all the same, we collect the projects here.
Please create a YAML file in config/$org/$repo.yml.
Below is an example of it:
filename: "{{.Name}}-{{.OS}}-{{.Arch}}"
binary: kk # please provide a binary file name if the release filename is not the final one
targetBinary: kk # a desired target binary file name
tar: false # if this is a tar file
replacements: # the replacement of os, arch
amd64: 64bit
darwin: macos
Even you can provide an external resource instead of GitHub release:
url: "https://get.helm.sh/{{.Name}}-{{.Version}}-{{.OS}}-{{.Arch}}.tar.gz"
| Name | Description |
|---|---|
{{.Name}} |
The filename |
{{.OS}} |
Could be linux, darwin. It align with runtime.GOOS |
{{.Arch}} |
It align with runtime.GOARCH |
{{.Version}} |
The version. For example: v1.0.1 |
{{.VersionNum}} |
The version without the prefix v. For example: 1.0.1 |
| Name | Description | Example |
|---|---|---|
fromSource |
Indicate if this tool supports to install via go install github.com/xxx/xxx |
ks |
tar |
Indicate if the release asset is a tarball | kind |
replacements |
A map of replacements for the variant of os or arch | ko |
additionBinaries |
You can add additional binary files if there are multiple files | containerd |
targetBinary |
Give a new binary file name if you don't use the origin one | podman |
binary |
The binary file name in the tarball | hd |