Update external-dependencies README with air-gapped environment documentation
- Added section on offline cache structure and usage - Documented download scripts (download-all-dependencies.sh, download-deb-packages.sh, verify-offline-cache.sh) - Added transfer procedure for air-gapped environment - Referenced offline-cache/README.md for detailed instructions Co-authored-by: Copilot <2235566219+Copilot@users.noreply.github.com> Entire-Checkpoint: 01M6PG0QFA4ZGZZA6Y469Q591R
This commit is contained in:
1 file changed
+53
@@ -80,6 +80,59 @@ This generates:
|
||||
- `<package>-provenance.json`: SLSA v1.0 provenance
|
||||
- `<package>-licenses.txt`: License compliance report
|
||||
|
||||
## Air-Gapped Environment Support
|
||||
|
||||
For air-gapped deployment, offline dependency packages are prepared and transferred via secure media:
|
||||
|
||||
### Offline Cache Structure
|
||||
|
||||
```
|
||||
external-dependencies/offline-cache/
|
||||
├── qt6/6.10.2/gcc_64/ # Qt 6.10.2 installation (2.2GB)
|
||||
├── src/ # Source tarballs
|
||||
│ ├── KDReports-2.3.0.tar.gz
|
||||
│ ├── Log4Qt-2.0.0.tar.gz
|
||||
│ └── grantlee-*.tar.gz
|
||||
├── deb/ # Ubuntu .deb packages (49 packages, 51MB)
|
||||
└── scripts/ # Installation scripts
|
||||
├── install-offline.sh # Offline installation script
|
||||
└── README.md # Package inventory
|
||||
```
|
||||
|
||||
### Download Scripts
|
||||
|
||||
**download-all-dependencies.sh**: Downloads all dependencies for offline use
|
||||
```bash
|
||||
cd external-dependencies/scripts
|
||||
./download-all-dependencies.sh [output-directory]
|
||||
```
|
||||
|
||||
**download-deb-packages.sh**: Downloads Ubuntu .deb packages
|
||||
```bash
|
||||
./download-deb-packages.sh [output-directory]
|
||||
```
|
||||
|
||||
**verify-offline-cache.sh**: Verifies offline cache completeness
|
||||
```bash
|
||||
./verify-offline-cache.sh
|
||||
```
|
||||
|
||||
### Transfer to Air-Gapped Environment
|
||||
|
||||
1. Run download scripts on internet-connected machine
|
||||
2. Copy `offline-cache/` directory to secure media (encrypted USB drive)
|
||||
3. Transfer to air-gapped environment
|
||||
4. Mount or copy to Jenkins build server
|
||||
5. Use offline installation scripts in Dockerfiles
|
||||
|
||||
### Important Notes
|
||||
|
||||
- **Offline cache is excluded from git** (2.3GB, security best practices)
|
||||
- Transfer via secure media only
|
||||
- Verify checksums after transfer
|
||||
- Keep offline cache updated with dependency version changes
|
||||
- See `offline-cache/README.md` for detailed usage
|
||||
|
||||
## Version Pinning Strategy
|
||||
|
||||
All dependencies use **exact version pinning**:
|
||||
|
||||
Reference in new issue
Block a user