Air-Gapped Deployment¶
Notes for deploying OIAF in disconnected / air-gapped environments.
Build Offline¶
- Vendor dependencies ahead of time:
Build with
go mod vendor-mod=vendorso no network module fetches are required. - Build the container image on a connected host and export it:
make docker-build docker save oiaf:latest -o oiaf.tar - Transfer
oiaf.tarto the air-gapped environment anddocker load -i oiaf.tar.
Static Binaries¶
- The Dockerfile builds with
CGO_ENABLED=0, producing static binaries that run on the distroless base image with no external runtime dependencies. - You can also copy the
oiafdandoiafctlbinaries directly to a host.
No External Services¶
- The MVP runs fully self-contained with the in-memory store; no Postgres or Redis is strictly required for a minimal air-gapped deployment.
- For persistence without external dependencies, run a local Postgres from a pre-loaded image.
Time Synchronization¶
- TOTP and push timestamp verification depend on accurate clocks. Ensure NTP (or a local time source) is synchronized across the control plane and devices.
- Adjust
push_timestamp_skew_secondsif clock drift is expected.
Updates¶
- Establish a signed, verified process for importing new releases (checksums, signatures).
- Verify image/binary integrity before deployment.
Offline MFA¶
- For endpoints that may lose connectivity (Windows laptops, remote sites), review the offline MFA strategy in the Windows credential provider docs.