Installing the CLI

One command on Linux, macOS or Windows, a checksum on every download, and how to update or remove it.

isogrid is a single executable with no dependencies. The platform serves it itself, so you install it from the same address you will sign in to.

ISOGrid's API is https://api.isogrid.skyvault.pro, and every command below downloads from it. The CLI page of the console shows the same commands with a copy button, and links each build.

Linux and macOS

curl -fsSL https://api.isogrid.skyvault.pro/api/v1/cli/install.sh | sh

The script works out your system and processor, downloads the matching build, checks it against the server's SHA256SUMS, and only then puts it in place. On a checksum mismatch nothing is installed.

It installs to /usr/local/bin when you can write there, and to ~/.local/bin otherwise. To choose, set ISOGRID_INSTALL_DIR:

curl -fsSL https://api.isogrid.skyvault.pro/api/v1/cli/install.sh | ISOGRID_INSTALL_DIR="$HOME/bin" sh

If the directory is not on your PATH, the script says so and prints the line to add to your profile.

The server writes its own address into the script it sends, so the one-liner needs nothing else. If you saved the script and run it later, or it came from somewhere else, set ISOGRID_API_URL to say where to download from.

Windows

In PowerShell 5.1 or 7:

irm https://api.isogrid.skyvault.pro/api/v1/cli/install.ps1 | iex

This installs isogrid.exe to %LOCALAPPDATA%\isogrid\bin, verifies it with Get-FileHash, and adds that directory to your user PATH. Terminals opened before the install do not see the new PATH; open a new one.

$env:ISOGRID_INSTALL_DIR and $env:ISOGRID_API_URL work as they do on Linux. Only 64-bit x86 builds are published for Windows.

Downloading it yourself

If you would rather not pipe a script into a shell, the CLI page in the web console links every build. You can also fetch one directly from https://api.isogrid.skyvault.pro/api/v1/cli/downloads/<file>:

File For
isogrid-linux-amd64 Linux, x86-64
isogrid-linux-arm64 Linux, ARM64
isogrid-darwin-amd64 macOS, Intel
isogrid-darwin-arm64 macOS, Apple silicon
isogrid-windows-amd64.exe Windows, x86-64
SHA256SUMS Checksums of every build
manifest.json Version, build time, size and SHA-256 of each build

https://api.isogrid.skyvault.pro/api/v1/cli/downloads (no file name) returns the version and every build as JSON, which is the easiest way to script a download.

Verifying the download

Download SHA256SUMS beside the binary and check it before you run anything:

curl -fsSLO https://api.isogrid.skyvault.pro/api/v1/cli/downloads/isogrid-linux-amd64
curl -fsSLO https://api.isogrid.skyvault.pro/api/v1/cli/downloads/SHA256SUMS
sha256sum -c --ignore-missing SHA256SUMS
chmod +x isogrid-linux-amd64
sudo mv isogrid-linux-amd64 /usr/local/bin/isogrid

On macOS use shasum -a 256 -c --ignore-missing SHA256SUMS. On Windows:

(Get-FileHash .\isogrid-windows-amd64.exe -Algorithm SHA256).Hash

and compare it with the line for isogrid-windows-amd64.exe in SHA256SUMS.

A mismatch means do not run it. Download it again; if it still does not match, tell support rather than working around it.

Checking it works

isogrid version
isogrid login

The installer points a fresh CLI at the address it came from, so login needs nothing else; an existing ~/.isogrid/config.json is left as it is. If you installed the binary by hand, sign in once with isogrid --api https://api.isogrid.skyvault.pro login: the address is remembered, and later commands do not need --api. See Command reference for what comes next.

Updating

isogrid update            # download, verify, and replace this executable
isogrid update --check    # only say whether a newer build exists

update fetches the build the platform offers for your system, checks it against manifest.json, and replaces itself. --check exits 0 whether or not there is an update, so it is safe in a script that only wants to report. --force reinstalls even when the versions already match.

If the executable lives somewhere you cannot write to — /usr/local/bin without root, or a package manager's directory — update cannot replace it. Update it the way you installed it: run the installer again, or sudo the manual steps above.

The CLI and the platform move together. When a command starts failing after a platform upgrade, isogrid update is the first thing to try.

Building from source

The CLI is in the cli/ directory of the repository. No Go toolchain is needed on your machine: every target runs in the golang:1.23-alpine container.

make build        # ./dist/isogrid for Linux
make test vet     # the test suite and go vet
make release      # every platform, plus SHA256SUMS, manifest.json, installers and CI templates
make install      # copy dist/isogrid to /usr/local/bin

Without make:

docker run --rm -v "$PWD:/src" -w /src golang:1.23-alpine sh scripts/release.sh v1.2.3

docker build -t isogrid-cli ./cli produces a minimal image if you would rather run the CLI in a container.

Uninstalling

Sign out first, revoking the credential on the server, then delete the binary and its configuration:

isogrid logout --revoke
rm "$(command -v isogrid)"
rm -rf ~/.isogrid

On Windows:

isogrid logout --revoke
Remove-Item "$env:LOCALAPPDATA\isogrid" -Recurse -Force
Remove-Item "$env:USERPROFILE\.isogrid" -Recurse -Force

and remove %LOCALAPPDATA%\isogrid\bin from your user PATH in the system settings.

Deleting the files does not revoke the credential. Without --revoke, a copy of it that was taken from the machine keeps working until it expires. If the machine is already gone, revoke it from the web console instead.

Edge cases worth knowing before you meet them

isogrid: command not found right after installing. The install directory is not on your PATH yet. Add it as the installer suggested, or open a new terminal on Windows.

"no API address" from the installer. You ran a copy of the script that did not come from the platform directly. Set ISOGRID_API_URL and run it again.

"cannot write to /usr/local/bin". Set ISOGRID_INSTALL_DIR to a directory you own, such as ~/.local/bin.

macOS refuses to open a manually downloaded binary. Files downloaded by a browser are quarantined. The installer script avoids this; for a manual download, run xattr -d com.apple.quarantine /usr/local/bin/isogrid.