Installation
This chapter is for people installing an AHRI TRE package provided by an operator, release maintainer, or language-wrapper package. It does not require a Rust checkout, Cargo, or the release packaging toolchain.
AHRI TRE installation gives you the local runtime:
| Installed command or file | Purpose |
|---|---|
ahri-tre | User-facing command-line tool for readiness checks and datastore work. |
ahri-tred | Local daemon used by the CLI and language wrappers to keep sessions open. |
lib/ runtime libraries | Bundled libraries needed by the CLI, daemon, DuckDB, and wrappers. |
include/ahri_tre_ffi_c.h | Stable C ABI header used by language wrapper packages. |
The package does not install or create PostgreSQL, DuckLake catalog databases, lake storage, Docker services, or organisation-specific credentials. Your operator owns those infrastructure details and should tell you which datastore name to open.
Choose The Right Package
Use the package that matches the computer or container where you will run the CLI:
| Package label | Use it for |
|---|---|
aarch64-apple-darwin | Apple Silicon macOS. |
x86_64-unknown-linux-gnu | 64-bit Intel/AMD Linux. |
aarch64-unknown-linux-gnu | 64-bit Arm Linux. |
Native Windows packages are not currently provided. Windows users should use a Linux environment such as WSL2 or a supported Linux container runtime, according to local operator guidance.
Unpack The Package
Create a private working directory and unpack the tar archive:
mkdir -p ~/Downloads/ahri-tre
tar -xf ahri-tre-<version>-<target>.tar -C ~/Downloads/ahri-tre
cd ~/Downloads/ahri-tre/ahri-tre-<version>-<target>
Replace <version> and <target> with the values in the package filename.
The unpacked directory should contain bin/, lib/, include/,
share/ahri-tre/, and install.sh.
Install To A Prefix
Choose an install prefix that your user account can write to. For a personal
install, ~/.local/ahri-tre is usually enough:
./install.sh "$HOME/.local/ahri-tre"
The installer copies package files into the prefix, stores the runtime binaries
under libexec/ahri-tre, and writes launchers into bin/. The launchers set
the packaged runtime library path before starting ahri-tre or ahri-tred,
so you should not need to point commands at Cargo target directories or source
checkout paths.
Add the installed bin directory to your shell PATH:
export PATH="$HOME/.local/ahri-tre/bin:$PATH"
To make that change persistent, add the same line to your shell profile, for
example ~/.profile, ~/.bashrc, or ~/.zshrc.
Check The Install
Run local checks before connecting to a datastore:
ahri-tre version
ahri-tre doctor --format json
ahri-tre schema list --format json
ahri-tred --help
If your shell cannot find ahri-tre, check that the install prefix bin
directory is on PATH. If the command reports that a shared library cannot be
loaded, run the installed launcher from <prefix>/bin/ahri-tre rather than a
binary copied from the unpacked package.
doctor should finish cleanly or return an actionable warning. If it reports
that a retired operational environment variable is process-visible, unset it.
Configuration and credentials must come from the operator-provided Client
bootstrap and the Injected/Managed Secret subsystem.
Install The Client Bootstrap
Ask your operator for the projected Client bootstrap and an admitted Runtime login. The Client document contains only Deployment identity, the canonical Trusted-runtime HTTPS origin, and Deployment CA trust. It contains no credentials or physical Datastore/Lake configuration.
Deployment tooling normally installs the document at
/etc/ahri-tre/client.toml. If your operator provides a different protected
path, select it explicitly on each command:
ahri-tre --config /protected/handoff/client.toml daemon start
Explicit selection never falls back. The package does not contain or load profile dotenv files, secret overlays, token files, passfiles, or endpoint overrides.
Start Using AHRI TRE
After installation and configuration, continue with Getting Started to start the daemon, open a session, and run datastore commands.
For language-wrapper packages, use the wrapper’s own installation instructions.
Wrappers may reuse this installed runtime by locating the packaged C ABI
library in <prefix>/lib, the public header in <prefix>/include, and the
daemon launcher at <prefix>/bin/ahri-tred.