[AZ-180] Update Jetson deployment documentation and remove obsolete task file

- Added Jetson-specific deployment instructions to `deploy_scripts.md`, detailing prerequisites and service management.
- Updated `deploy_status_report.md` to reflect the completion of the AZ-180 cycle and the readiness of Jetson support.
- Removed outdated task documentation for Jetson Orin Nano support from the todo list.

Made-with: Cursor
This commit is contained in:
Oleksandr Bezdieniezhnykh
2026-04-02 16:58:57 +03:00
parent 3984507221
commit 2c35e59a77
9 changed files with 377 additions and 7 deletions
+21
View File
@@ -50,6 +50,27 @@ Or using the e2e compose for testing:
cd e2e && COMPOSE_PROFILES=cpu docker compose -f docker-compose.test.yml up --build
```
### Jetson Orin Nano Deployment (AZ-180)
Jetson deployment uses `docker-compose.jetson.yml` directly — the standard CPU/GPU scripts are not used on Jetson.
**Prerequisites on target Jetson device**:
- JetPack 6.x installed
- NVIDIA Container Runtime configured (`runtime: nvidia` support in Docker)
- `docker compose` v2+
**Start service**:
```bash
docker compose -f docker-compose.jetson.yml up -d
```
**Stop service**:
```bash
docker compose -f docker-compose.jetson.yml down
```
**INT8 calibration cache**: Upload `azaion.int8_calib.cache` to the Loader service before first start to enable INT8 precision. If absent, the service falls back to FP16 automatically.
## Deployment Flow
```
@@ -1,6 +1,6 @@
# Deployment Status Report
**Date**: 2026-04-01
**Date**: 2026-04-02
**Project**: Azaion.Detections
## Component Readiness
@@ -12,6 +12,7 @@
| E2E Test Suite | Implemented | docker-compose.test.yml exists |
| Mock Services (Loader, Annotations) | Implemented | docker-compose.mocks.yml exists |
| AZ-178: `POST /detect/video` endpoint | Implemented & Tested | True streaming pipeline; 67/67 tests pass incl. real-video integration test |
| AZ-180: Jetson Orin Nano (aarch64 / JetPack 6.x) | Implemented & Tested | Dockerfile.jetson, requirements-jetson.txt, docker-compose.jetson.yml; 30/33 tests pass (3 skipped: require physical Jetson hardware); INT8 + FP16 fallback via calibration cache |
## External Dependencies
@@ -51,9 +52,12 @@
| Security findings (FAIL verdict) | High | Fix Critical/High CVEs before production (see `_docs/05_security/security_report.md`) |
| Containers run as root | Medium | Add non-root USER directive to Dockerfiles |
| No CI/CD pipeline | Medium | Define and implement pipeline |
| Jetson blackbox tests require physical hardware | Low | AC-2, AC-5, AC-6 (GET /health on-device, POST /detect/image on-device, compose up on-device) cannot run in standard CI; validate on Jetson Orin Nano before first production Jetson deployment |
## Recommendation
The application is functionally ready for deployment with AZ-178 (true streaming video detection). Security findings from the audit should be addressed before production deployment — at minimum, pin dependencies to fix CVE-2025-43859 and CVE-2026-28356.
The application is functionally ready for deployment with AZ-178 (true streaming video detection) and AZ-180 (Jetson Orin Nano + INT8 quantization). Security findings from the audit should be addressed before production deployment — at minimum, pin dependencies to fix CVE-2025-43859 and CVE-2026-28356.
**AZ-178 notes**: `POST /detect/video` uses raw binary body (not multipart). No new env variables are required — existing `VIDEOS_DIR` is used for `StreamingBuffer` temp files. Peak RAM for large video uploads is now bounded by model batch size (~50 MB), not file size.
**AZ-180 notes**: Jetson deployment uses `docker-compose.jetson.yml` — do **not** use the standard CPU/GPU scripts on a Jetson device. The `NVIDIA_VISIBLE_DEVICES=all` env var and `runtime: nvidia` in compose are required. INT8 precision is activated automatically when `azaion.int8_calib.cache` is accessible on the Loader service; the service falls back to FP16 if the cache is absent. Engine files are named per compute capability (e.g. `azaion.cc_8.7_sm_16.int8.engine`) and are not portable between architectures.