# edgexfoundry-holding/orra architecture

> Architecture diagram of the GitHub repository edgexfoundry-holding/orra, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/edgexfoundry-holding/orra
- Repository: https://github.com/edgexfoundry-holding/orra

## Overview

ORRA is an EdgeX Foundry retail reference-architecture project, represented here by deployment demos rather than application source code. The Kamakura demo names camera management, ONVIF/MQTT device services, EdgeX platform services, and edge video analytics with model/data support; a second demo provides a simpler EdgeX configuration. The tree and README do not establish runtime call or data-flow wiring, so the graph shows these components without inferred connections.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_analytics["Video Analytics"]
  node_video_analytics["Video Analytics"]
  node_model_data["Model Data<br/>[models.list.yml]"]
  node_deployment_data["Deployment Data"]
end

subgraph group_devices["Camera Devices"]
  node_camera_management["Camera Management"]
  node_onvif_camera["ONVIF Camera"]
  node_mqtt_device["MQTT Device"]
  node_mqtt_broker["MQTT Broker"]
end

subgraph group_platform["EdgeX Platform"]
  node_core_command["Core Command"]
  node_core_metadata["Core Metadata"]
  node_consul["Consul"]
  node_redis[("Redis")]
  node_edgex_ui["EdgeX UI"]
  node_asc_mqtt["ASC MQTT"]
end

subgraph group_demo_config["Demo Configuration"]
  node_simple_demo["Simple Demo Config<br/>[pattern.json]"]
end

node_operator(("Operator"))

click node_camera_management "https://github.com/edgexfoundry-holding/orra/blob/main/demos/OH-EXF-Kamakura/src/app-camera-management/service.definition.json"
click node_onvif_camera "https://github.com/edgexfoundry-holding/orra/blob/main/demos/OH-EXF-Kamakura/src/device-onvif-camera/service.definition.json"
click node_mqtt_device "https://github.com/edgexfoundry-holding/orra/blob/main/demos/OH-EXF-Kamakura/src/device-mqtt/data/camera-device-mqtt/devices/edge-video-analytics.devices.toml"
click node_mqtt_broker "https://github.com/edgexfoundry-holding/orra/blob/main/demos/OH-EXF-Kamakura/src/mqtt-broker/service.definition.json"
click node_video_analytics "https://github.com/edgexfoundry-holding/orra/blob/main/demos/OH-EXF-Kamakura/src/edge-video-analytics/service.definition.json"
click node_model_data "https://github.com/edgexfoundry-holding/orra/blob/main/demos/OH-EXF-Kamakura/src/model-data/models.list.yml"
click node_deployment_data "https://github.com/edgexfoundry-holding/orra/blob/main/demos/OH-EXF-Kamakura/src/deploy-data/service.definition.json"
click node_core_command "https://github.com/edgexfoundry-holding/orra/blob/main/demos/OH-EXF-Kamakura/src/core-command/service.definition.json"
click node_core_metadata "https://github.com/edgexfoundry-holding/orra/blob/main/demos/OH-EXF-Kamakura/src/core-metadata/service.definition.json"
click node_consul "https://github.com/edgexfoundry-holding/orra/blob/main/demos/OH-EXF-Kamakura/src/consul/service.definition.json"
click node_redis "https://github.com/edgexfoundry-holding/orra/blob/main/demos/OH-EXF-Kamakura/src/redis/service.definition.json"
click node_edgex_ui "https://github.com/edgexfoundry-holding/orra/blob/main/demos/OH-EXF-Kamakura/src/edgex-ui/service.definition.json"
click node_asc_mqtt "https://github.com/edgexfoundry-holding/orra/blob/main/demos/OH-EXF-Kamakura/src/asc-mqtt/service.definition.json"
click node_simple_demo "https://github.com/edgexfoundry-holding/orra/blob/main/demos/SDO-OH-EXF-dev-simple/configuration/pattern.json"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_video_analytics,node_model_data,node_deployment_data toneBlue
class node_camera_management,node_onvif_camera,node_mqtt_device,node_mqtt_broker toneAmber
class node_core_command,node_core_metadata,node_consul,node_redis,node_edgex_ui,node_asc_mqtt toneMint
class node_simple_demo toneRose
class node_operator toneIndigo
```

## Components

### Video Analytics

- [Video Analytics](https://github.com/edgexfoundry-holding/orra/blob/main/demos/OH-EXF-Kamakura/src/edge-video-analytics/service.definition.json): `demos/OH-EXF-Kamakura/src/edge-video-analytics/service.definition.json`
- [Model Data](https://github.com/edgexfoundry-holding/orra/blob/main/demos/OH-EXF-Kamakura/src/model-data/models.list.yml): `demos/OH-EXF-Kamakura/src/model-data/models.list.yml`
- [Deployment Data](https://github.com/edgexfoundry-holding/orra/blob/main/demos/OH-EXF-Kamakura/src/deploy-data/service.definition.json): `demos/OH-EXF-Kamakura/src/deploy-data/service.definition.json`

### Camera Devices

- [Camera Management](https://github.com/edgexfoundry-holding/orra/blob/main/demos/OH-EXF-Kamakura/src/app-camera-management/service.definition.json): `demos/OH-EXF-Kamakura/src/app-camera-management/service.definition.json`
- [ONVIF Camera](https://github.com/edgexfoundry-holding/orra/blob/main/demos/OH-EXF-Kamakura/src/device-onvif-camera/service.definition.json): `demos/OH-EXF-Kamakura/src/device-onvif-camera/service.definition.json`
- [MQTT Device](https://github.com/edgexfoundry-holding/orra/blob/main/demos/OH-EXF-Kamakura/src/device-mqtt/data/camera-device-mqtt/devices/edge-video-analytics.devices.toml): `demos/OH-EXF-Kamakura/src/device-mqtt/data/camera-device-mqtt/devices/edge-video-analytics.devices.toml`
- [MQTT Broker](https://github.com/edgexfoundry-holding/orra/blob/main/demos/OH-EXF-Kamakura/src/mqtt-broker/service.definition.json): `demos/OH-EXF-Kamakura/src/mqtt-broker/service.definition.json`

### EdgeX Platform

- [Core Command](https://github.com/edgexfoundry-holding/orra/blob/main/demos/OH-EXF-Kamakura/src/core-command/service.definition.json): `demos/OH-EXF-Kamakura/src/core-command/service.definition.json`
- [Core Metadata](https://github.com/edgexfoundry-holding/orra/blob/main/demos/OH-EXF-Kamakura/src/core-metadata/service.definition.json): `demos/OH-EXF-Kamakura/src/core-metadata/service.definition.json`
- [Consul](https://github.com/edgexfoundry-holding/orra/blob/main/demos/OH-EXF-Kamakura/src/consul/service.definition.json): `demos/OH-EXF-Kamakura/src/consul/service.definition.json`
- [Redis](https://github.com/edgexfoundry-holding/orra/blob/main/demos/OH-EXF-Kamakura/src/redis/service.definition.json): `demos/OH-EXF-Kamakura/src/redis/service.definition.json`
- [EdgeX UI](https://github.com/edgexfoundry-holding/orra/blob/main/demos/OH-EXF-Kamakura/src/edgex-ui/service.definition.json): `demos/OH-EXF-Kamakura/src/edgex-ui/service.definition.json`
- [ASC MQTT](https://github.com/edgexfoundry-holding/orra/blob/main/demos/OH-EXF-Kamakura/src/asc-mqtt/service.definition.json): `demos/OH-EXF-Kamakura/src/asc-mqtt/service.definition.json`

### Demo Configuration

- [Simple Demo Config](https://github.com/edgexfoundry-holding/orra/blob/main/demos/SDO-OH-EXF-dev-simple/configuration/pattern.json): `demos/SDO-OH-EXF-dev-simple/configuration/pattern.json`

### Other components

- **Operator**
