Files
detections-semantic/_docs/02_plans/deployment/environment_strategy.md
T
Oleksandr Bezdieniezhnykh 8e2ecf50fd Initial commit
Made-with: Cursor
2026-03-26 00:20:30 +02:00

1.6 KiB

Environment Strategy

Environments

Environment Purpose Hardware Inference Gimbal
Development Local dev + tests x86 workstation with NVIDIA GPU ONNX Runtime or TRT on dev GPU Mock (TCP socket)
Production Field deployment on UAV Jetson Orin Nano Super (ruggedized) TensorRT FP16 Real ViewPro A40

CI testing uses the Development environment with Docker (mock everything). HIL testing uses the Production environment on a bench Jetson.

Configuration

Single YAML config file per environment:

  • config.dev.yaml — mock gimbal, console logging, ONNX Runtime
  • config.prod.yaml — real gimbal, NVMe logging, thermal monitoring

Config is a file on disk, not environment variables. Updated via USB in production.

Environment-Specific Overrides

Config Key Development Production
inference_engine onnxruntime tensorrt_fp16
gimbal_mode mock_tcp real_uart
vlm_enabled false (or stub) true
recording_enabled false true
thermal_monitor false true
log_output console file (NVMe)

Field Update Procedure

  1. Prepare USB drive: Docker image tar, TRT engines (if changed), config.yaml, update.sh
  2. Connect USB to Jetson
  3. Run update.sh: stops services → loads new images → copies files → restarts
  4. Verify: health endpoint returns 200, test frame produces detection
  5. Remove USB

If update fails: re-run with previous package from USB, or re-flash Jetson from known-good image.