Install
tesser to ~/.tesser/bin and adds that directory to
your shell’s rc file. To install a specific release:
tesser update installs the latest release over the running binary and
restarts the daemon on it; tesser update v0.31.0 installs that release.
Release API
https://install.tesser.sh serves the install script and answers the
questions it asks. Every response is plain text.
<target> is one of darwin-arm64, darwin-x64, linux-x64,
linux-x64-baseline (x64 CPUs without AVX2), and linux-arm64. A version or
target that does not exist returns 404. A published release never changes.
How updates are verified
Every release’s manifest is signed with Tesser’s release key, and the public half is compiled into the CLI.tesser update downloads the manifest and its
signature, refuses a manifest the key did not sign, and checks the tarball
against the sha256 in the signed manifest. Anyone who could change what
install.tesser.sh or the download store serves still could not get an
installed CLI to update to a build we did not sign.
The install script does not check the signature: it trusts the sha256 that
install.tesser.sh serves, like any curl | sh installer. To remove that trust
from CI, pin the hash as below.
Pin a release in CI
To trust nothing but a hash in your own repository, hardcode the target and the sha256, and check the download against it:<sha256> once from
https://install.tesser.sh/v0.31.0/linux-x64/sha.