From 3bada171e7c7c711841156a5b8f72952aab90ffa Mon Sep 17 00:00:00 2001 From: Torsten Wierschin Date: Thu, 5 Nov 2026 18:37:24 +0000 Subject: [PATCH] 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 --- external-dependencies/README.md | 53 +++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/external-dependencies/README.md b/external-dependencies/README.md index 1a12bd2cb..bb90c0392 100644 --- a/external-dependencies/README.md +++ b/external-dependencies/README.md @@ -80,6 +80,59 @@ This generates: - `-provenance.json`: SLSA v1.0 provenance - `-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**: