mirror of
https://github.com/azaion/gps-denied-onboard.git
synced 2026-06-21 23:31:13 +00:00
47 lines
2.0 KiB
Markdown
47 lines
2.0 KiB
Markdown
# Containerization
|
|
|
|
## Strategy
|
|
|
|
The production runtime targets Jetson hardware and may not be fully containerized for all camera/GPU paths. The test and development stack uses containers where practical, with local hardware execution required for release gates.
|
|
|
|
## Runtime Units
|
|
|
|
| Unit | Containerized? | Notes |
|
|
|------|----------------|-------|
|
|
| GPS-denied service | Optional on Jetson | Must access camera, CUDA/TensorRT/ONNX, MAVLink, local cache, FDR storage |
|
|
| Replay consumer | Yes | Deterministic black-box test harness |
|
|
| Satellite cache stub | Yes | Local fixture volume for COG/manifest/descriptors |
|
|
| ArduPilot Plane SITL | Yes or local process | Used for MAVLink and failsafe validation |
|
|
| QGC observer/log parser | Yes | Parses MAVLink status/tlogs |
|
|
|
|
## Docker Compose Profiles
|
|
|
|
| Profile | Purpose | Services |
|
|
|---------|---------|----------|
|
|
| `replay` | CI/PR deterministic fixture tests | gps-denied-service, replay-consumer, satellite-cache-stub |
|
|
| `sitl` | ArduPilot Plane integration tests | gps-denied-service, ardupilot-plane-sitl, qgc-observer |
|
|
| `jetson-local` | Documentation-only profile for local hardware run | Host runtime with local scripts/tasks created later |
|
|
|
|
## Image Requirements
|
|
|
|
- Base images must match JetPack/CUDA compatibility for GPU tests.
|
|
- Replay-only images may use standard Ubuntu/Python/C++ build images.
|
|
- No production image should contain secrets, mission signing keys, or provider credentials.
|
|
- Dataset downloads are not baked into images; they are mounted as versioned fixtures.
|
|
|
|
## Volumes
|
|
|
|
| Volume | Purpose |
|
|
|--------|---------|
|
|
| `/data/input` | Test images and public dataset slices |
|
|
| `/cache/satellite` | Offline cache fixture |
|
|
| `/fdr` | Runtime FDR output |
|
|
| `/test-results` | CSV/Markdown reports |
|
|
|
|
## Open Tasks For Decomposition
|
|
|
|
- Create Dockerfiles for replay-compatible service and consumer harness.
|
|
- Define Jetson local setup scripts for GPU/camera/MAVLink access.
|
|
- Create compose profiles for replay and SITL.
|
|
- Add license-aware public dataset fixture downloader.
|