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.
Current release: 1.3.4
| Platform | Variant | Download |
|---|---|---|
| Windows | x86 | bestool.exe |
| Linux | x86 | bestool |
| Linux | x86 static | bestool |
| Linux | ARM64 | bestool |
| Mac | Intel | bestool |
| Mac | ARM64 | bestool |
If you already have bestool, it can self-update to the latest version:
$ bestool self-updateIf you're on Debian or a derivative, you can use our APT repo:
curl -fsSL https://tools.ops.tamanu.io/apt/bes-tools.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/bes-tools.gpg
echo "deb [signed-by=/etc/apt/keyrings/bes-tools.gpg] https://tools.ops.tamanu.io/apt stable main" | sudo tee /etc/apt/sources.list.d/bes-tools.list
sudo apt-get update
sudo apt-get install bestoolThe above URLs are for the current release. If you want to always get the latest version, you can use the following URLs:
| Platform | Variant | Download |
|---|---|---|
| Windows | x86 | bestool.exe |
| Linux | x86 | bestool |
| Linux | x86 static | bestool |
| Linux | ARM64 | bestool |
| Mac | Intel | bestool |
| Mac | ARM64 | bestool |
- 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 usefulOr 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 usefulWith Binstall
$ cargo binstall bestool$ cargo install bestoolInstall rust, clone the repo, then run:
$ cargo checkTo run the tool:
$ cargo run -- --helpTo build the tool like for production:
$ cargo build --releaseCommits should follow the Conventional Commits format. Types are listed in the cliff.toml file.
To make a release, install cargo-release and git-cliff, then:
$ git switch main
$ git pull
$ cargo release minor --execute(or patch or major instead of minor)