Operations

Air-gapped install

F3.2 — air-gapped install bundle · Last updated: 2026-04-30

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:

fastpace-airgap-0.24.0-2026-04-30T15-42-11-000Z/ ├── INSTALL.md ├── README.md ├── install-offline.sh # Bash installer (macOS / Linux) ├── install-offline.ps1 # PowerShell installer (Windows) ├── manifest.json # signed integrity hashes ├── pkg/ # the @fastpace-ai/fp package │ ├── bin/ │ ├── src/ │ ├── assets/ │ ├── package.json │ └── CHANGELOG.md └── docs/ # offline docs ├── audit-schema.md ├── audit-replication.md ├── audit-migration.md ├── ciso-call-program.md ├── framework-mapping.md └── THREAT-MODEL.md

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