Deployment

Install Trestle

Choose a user install or a portable download. Both verify the release checksum before writing the executable.

Install with Go

go install github.com/trestle-cv/trestle/cmd/trestle@latest

This builds Trestle from source using Go 1.22 or newer and installs it to your configured Go binary directory. Use a release installer when you prefer the published, checksum-verified binary.

Install for your user

curl -fsSL https://trestle.cv/install.sh | sh
~/.local/bin/trestle version
  • Installs to ~/.local/bin.
  • Does not require root.
  • Prints the required PATH change when needed.

Download into this directory

mkdir my-trestle
cd my-trestle
curl -fsSL https://trestle.cv/download.sh | sh
./trestle

This writes only ./trestle. It does not change PATH, shell files, services, configuration or data.

Pin a release

curl -fsSL https://trestle.cv/download.sh | sh -s -- --version v0.1.5
curl -fsSL https://trestle.cv/download.sh | sh -s -- --output ./some-name

Existing files and symlinks are protected unless you pass --force. install.sh accepts the same version option.

Prerelease builds

curl -fsSL https://trestle.cv/download.sh | sh -s -- --version v0.1.0-rc.1
curl -fsSL https://trestle.cv/install.sh | sh -s -- --version v0.1.0-rc.1

Prereleases must be selected explicitly. Unversioned commands install the latest stable release.

System-wide install

curl -fsSL https://trestle.cv/install.sh | sudo sh -s -- --system
/usr/local/bin/trestle version

--system requires root and installs to /usr/local/bin. Ordinary per-user mode refuses to run as root.

Verified by default

Install, download and update verify the selected archive against SHA256SUMS. Missing, malformed or mismatched checksums stop the operation before the existing binary is replaced.