`THRESHOLD_SKIP_CACHE_DAEMON` and the other CLI and server variables are read
first, then `BOUNDARY_ADDR`, `BOUNDARY_TOKEN`, and so on. A `THRESHOLD_*` variable that is
set to a non-empty value always wins. Existing scripts and deployments that
only set `BOUNDARY_*` variables do not need to change.
Notes:
-`env://VAR` references inside configuration files and flags (for example
`url = "env://BOUNDARY_POSTGRES_URL"` or `url = "env://THRESHOLD_POSTGRES_URL"`
as used by the bundled container config) name an environment variable
literally and are not rewritten; keep using whichever variable name you export.
-`threshold connect -exec` exports both `THRESHOLD_PROXIED_{PORT,IP,ADDR}` and
the legacy `BOUNDARY_PROXIED_{PORT,IP,ADDR}` variables to the child process.
- The container image entrypoint mirrors any `BOUNDARY_*` variables to the
matching `THRESHOLD_*` variable when it is unset.
Other fallbacks:
| Item | New | Legacy fallback |
|------|-----|-----------------|
| Client cache directory | `~/.threshold` | `~/.boundary` is used if it exists and `~/.threshold` does not |
| Keyring entry (macOS Keychain / Windows Credential Manager) | `Threshold Auth Token` | `HashiCorp Boundary Auth Token` is read if the new entry is not found, and removed on `threshold logout` |
| Keyring prefix (`pass`, libsecret) | `Threshold` | `HashiCorp_Boundary` is read if the new entry is not found, and removed on `threshold logout` |
Tokens are always written using the new names.
## Building
```
make build # builds bin/threshold (requires the embedded UI, see Makefile)
make build-no-ui # builds bin/threshold without the embedded admin UI
```
The embedded admin UI is built from the upstream `boundary-ui` project and is