Skip to content

docs(ota_demo): add high-level architecture diagram to README#70

Closed
bburda wants to merge 1 commit into
mainfrom
docs/ota-demo-architecture-diagram
Closed

docs(ota_demo): add high-level architecture diagram to README#70
bburda wants to merge 1 commit into
mainfrom
docs/ota-demo-architecture-diagram

Conversation

@bburda

@bburda bburda commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Description

Add an Architecture section to the ota_nav2_sensor_fix demo README with a Mermaid diagram giving a high-level view of the demo before the step-by-step narrative.

The diagram shows the two containers - the all-in-one ota_demo_gateway (Gazebo, the swappable scan_sensor_node, the Nav2 stack, and the ros2_medkit gateway with the OTA plugin, the fault bridges, fault_manager, health_check, foxglove_bridge) and the ota_update_server (FastAPI catalog + artifacts) - and the four colour-coded flows:

  • violet - OTA update (operator -> SOVD /updates -> plugin -> update server /catalog /artifacts)
  • red - fault detection (Nav2 ERROR/ABORTED -> bridges -> fault_manager freeze-frame + MCAP)
  • green (dashed) - live node hot-swap (fixed_lidar <-> broken_lidar)
  • blue (dashed) - live telemetry to Foxglove over the WebSocket bridge

Docs-only change; the Mermaid renders natively on GitHub.

Related Issue

closes #

Checklist

  • Tested locally
  • README updated (if needed)

Add an Architecture section with a Mermaid diagram of the
ota_nav2_sensor_fix demo: the two containers (ota_demo_gateway and
ota_update_server) and the four flows - OTA update, fault detection,
node hot-swap and live telemetry.
Copilot AI review requested due to automatic review settings July 15, 2026 13:27

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a high-level Architecture section to the ota_nav2_sensor_fix demo README so readers can understand the container/components layout and the main interaction flows before the step-by-step narrative.

Changes:

  • Introduces an Architecture section describing the two-container setup and key components.
  • Adds a Mermaid flowchart diagram with color-coded flows for OTA updates, fault reporting, hot-swap, and Foxglove telemetry.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +12 to +15
`foxglove_bridge`) plus the `ota_update_server` that hosts the update catalog
and artifacts. The coloured flows are the two storylines: the **OTA update**
path (violet), the **fault detection** path (red), the live **node hot-swap**
(green, dashed) and **live telemetry** to Foxglove (blue, dashed).
plugin["ota_update_plugin<br/>UpdateProvider<br/>stage → kill → swap → respawn"]:::plain
bridges["log + action-status bridges<br/>Nav2 errors / aborts → SOVD faults"]:::plain
fm["fault_manager<br/>latch (no self-heal)<br/>freeze-frame + MCAP"]:::plain
hc["health_check<br/>run_health_checks · fingers the lidar"]:::plain
Comment on lines +55 to +66
operator -->|POST/PUT /updates · DELETE faults| plugin
plugin -.->|kill + swap| scan
plugin -->|GET /catalog · /artifacts| cat
cat --- art
fb -.->|ws :8765| foxglove

%% flow colouring: 3,4 = fault | 5,7 = OTA | 6 = hot-swap | 9 = telemetry
linkStyle 3,4 stroke:#e11d48,stroke-width:2.5px;
linkStyle 5,7 stroke:#7c3aed,stroke-width:2.5px;
linkStyle 6 stroke:#059669,stroke-width:2.5px;
linkStyle 9 stroke:#0284c7,stroke-width:2.5px;

@bburda bburda closed this Jul 15, 2026
@bburda
bburda deleted the docs/ota-demo-architecture-diagram branch July 15, 2026 13:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants