API Reference
Note
API documentation will be auto-generated from Rust source code once implementation begins. This page serves as a placeholder and integration guide for future developers.
Planned Architecture
Based on Software Design Document, AirGap Deploy will consist of these modules:
CLI Module (cli)
Purpose: Command-line interface and argument parsing
Key Components:
PrepCommand- Main prep command handlerCli- Argument parser using clapTargetPlatform- Platform specification
Manifest Module (manifest)
Purpose: Parse and validate AirGapDeploy.toml
Key Components:
Manifest- Main manifest structureComponent- Component definitionsManifestParser- TOML parsing and validation
Rust App Module (rust_app)
Purpose: Rust project analysis and dependency management (implements RustAppComponent)
Key Components:
CargoWorkspace- Workspace metadata extractionDependencyVendor- Vendor dependency downloadToolchainManager- Rust toolchain bundling
Component Module (component)
Purpose: Component type implementations
Key Components:
RustAppComponent- Rust application handlerExternalBinaryComponent- External binary downloader (includingGithubReleaseSource)ModelFileComponent- Model file managerConfigFileComponent- Configuration file deployerSystemPackageComponent- System package bundler
Package Module (package)
Purpose: Archive creation and bundling
Key Components:
Packager- Main packaging logicTarBuilder- Tar archive creationCompressor- Gzip compression
Installer Module (installer)
Purpose: Installation script generation
Key Components:
ScriptGenerator- Shell script generationInstallStep- Installation step definitionsConfigTemplate- Configuration file templates
Developer Resources
See Rust API Documentation Integration Guide for doc comment guidelines, sphinxcontrib-rust configuration, and traceability linking.
Future Enhancements
When implementation begins:
Add
.. impl::directives for each moduleLink implementations to requirements in traceability matrix
Auto-generate API docs with sphinxcontrib-rust
Document component trait implementations
Add workflow examples showing API usage