Purpose
Reproducible infrastructure for building air-gapped systems with a controlled, inspectable, repeatable setup process. The documentation explains the project boundary, architecture, setup flow, operational model, security considerations, and known limitations.
Installation
Start from a clean, supported environment. Obtain the project source, verify the revision and inputs, and follow the project-specific bootstrap procedure. Do not execute unknown artifacts before inspecting them.
$ inspect source $ verify revision and inputs $ apply the documented setup $ validate the resulting state
Architecture
SiloBSD treats an air-gapped machine as a reproducible system boundary. Inputs are prepared outside the final environment, transferred deliberately, verified, and consumed through a documented setup process.
- Offline installation media
- Declarative setup workflow
- Controlled transfer boundary
- Verification and audit points
Configuration
Configuration should be explicit and version-controlled wherever practical. Keep environment-specific secrets, credentials, and private operational values outside the public configuration. The goal is a small, reviewable set of inputs.
Security model
SiloBSD is a research project, not a blanket security guarantee. Establish trust boundaries, minimize exposed interfaces, isolate untrusted inputs, and verify the resulting state. An air gap is a boundary, not a guarantee.
Operational constraints
- An air gap is a boundary, not a guarantee.
- Verify every removable or transferred artifact.
- Document the trusted computing base and maintenance procedure.
- Plan how updates enter the offline environment.
Operations
Use the documented workflow to create, inspect, reset, and reproduce the environment. Record versions, configuration changes, test inputs, and relevant observations so another operator can understand the result.
Troubleshooting
When something fails, first verify the environment, versions, inputs, and network boundaries. Reduce the problem to the smallest reproducible case, capture logs, and compare against a known-good configuration.
First checks
- Confirm the documented version and environment.
- Check logs and system state before changing multiple variables.
- Reproduce from a clean state where possible.