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>-provenance.json`: SLSA v1.0 provenance
|
||||||
- `<package>-licenses.txt`: License compliance report
|
- `<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
|
## Version Pinning Strategy
|
||||||
|
|
||||||
All dependencies use **exact version pinning**:
|
All dependencies use **exact version pinning**:
|
||||||
|
|||||||
Reference in new issue
Block a user