bestool
All-in-one tool for BES ops and dev tasks.
It manifests as a single binary that can be easily uploaded to Windows machines, or downloaded from the internet, and also works cross-platform on Linux and Mac for many tasks.
See bestool <subcommand> --help for extensive help.
Download
| Platform | Variant | Download |
|---|---|---|
| Windows | x86 | bestool.exe |
| Linux | x86 | bestool |
| Linux | x86 static | bestool |
| Linux | ARM64 | bestool |
| Mac | Intel | bestool |
| Mac | ARM64 | bestool |
These URLs always point to the latest release. Pin to a specific version with https://tools.ops.tamanu.io/bestool/<version>/<target>/bestool.
Self-update
If you already have bestool, it can self-update to the latest version:
$ bestool self-update
APT repository
If you're on Debian or a derivative, you can use our APT repo:
|
|
In GitHub Actions
- name: Download bestool
shell: bash
run: |
curl -Lo ${{ runner.os == 'Windows' && 'bestool.exe' || 'bestool' }} https://tools.ops.tamanu.io/bestool/gha/${{ runner.os }}-${{ runner.arch }}?bust=${{ github.run_id }}
[[ -f bestool ]] && chmod +x bestool
- name: Use bestool
shell: bash
run: |
bestool=bestool
[[ ${{ runner.os }} == "Windows" ]] && bestool=bestool.exe
./$bestool --version # or something more useful
Or combined:
- name: Download bestool
shell: bash
run: |
bestool=bestool
[[ ${{ runner.os }} == "Windows" ]] && bestool=bestool.exe
curl -Lo $bestool https://tools.ops.tamanu.io/bestool/gha/${{ runner.os }}-${{ runner.arch }}?bust=${{ github.run_id }}
[[ -f bestool ]] && chmod +x bestool
./$bestool --version # or something more useful
With Binstall
$ cargo binstall bestool
With cargo (compiling)
$ cargo install bestool
Development
Install rust, clone the repo, then run:
$ cargo check
To run the tool:
$ cargo run -- --help
To build the tool like for production:
$ cargo build --release
Commits should follow the Conventional Commits format.