Air-gapped install
For defense / intelligence / regulated-industry hosts that can't run
npm install. fastpace airgap build produces a
tarball that installs with one Bash (or PowerShell) script — no internet
access required.
Build the bundle
fastpace airgap build The output is a directory under fastpace/airgap/ plus a .tar.gz:
Hand to the customer
Transfer the tarball via your approved channel (sneakernet / signed
artifact storage / the customer's existing software-supply-chain
process). The bundle is signed with your install identity; the
manifest.json contains a sha256 hash of every file plus
an Ed25519 signature.
Install (host side)
The customer runs:
tar xzf fastpace-airgap-0.24.0-*.tar.gz
cd fastpace-airgap-0.24.0-*
sudo ./install-offline.sh
Default destination /usr/local/lib/fastpace; symlinks at
/usr/local/bin/fastpace and /usr/local/bin/fp.
Custom prefix via FASTPACE_PREFIX:
FASTPACE_PREFIX=$HOME/.local ./install-offline.sh Pre-flight: The host must already have Node 18+ installed. The bundle does NOT include Node — this keeps the bundle small and avoids cross-arch headaches. The installer fails fast with a clear error if Node is missing or too old.
Verify integrity (optional but recommended)
cd fastpace-airgap-0.24.0-*
shasum -a 256 -c <(jq -r '.files[] | "\(.sha256 | sub("sha256:"; "")) \(.relpath)"' manifest.json)
Any line showing FAILED means the bundle has been
modified between export and arrival. Don't install — contact the
issuer.
Updating
Receive a new bundle, run sudo ./install-offline.sh from
inside it. The installer overwrites <PREFIX>/lib/fastpace
in place. The audit chain in your repos is preserved across updates —
chain format is stable, and fastpace verify after upgrade
will pass.
Uninstall
sudo ./install-offline.sh --uninstall
Removes the symlinks and the package directory. Does NOT remove
~/.fastpace/ (your install identity + manifests live
there). Remove that yourself if you want a totally clean state.
What the bundle does NOT include
- Node.js itself. Customer must have Node 18+.
- npm. The installer is plain shell — no npm step.
- Telemetry. fastpace ships zero telemetry; the offline install behaves identically to a regular install.
- External services. No call-home for license check or update probe.