Components and APIs

Components

Table 1 Components
Component GitHub repository Documentation
History (STH) GitHub - STH readthedocs - STH
mongodb   mongodb documentation
Mosquitto (MQTT broker)   Mosquitto documentation
GUI GitHub - GUI  
iotagent-json GitHub - iotagent-json readthedocs - iotagent-json
Orion GitHub - Orion readthedocs - Orion
DeviceManager GitHub - DeviceManager readthedocs - DeviceManager
auth GitHub - auth  
postgres   postgres documentation
Kong API gateway   Kong documentation
Perseo Core GitHub - perseo-core Docs - perseo-core
Perseo Front-End GitHub - perseo-fe Docs - perseo-fe
Orchestrator/Mashup GitHub - mashup  
redis   Redis documentation
zookeeper   Zookeeper documentation
Kafka   Kafka documentation
EJBCA-REST GitHub - EJBCA-REST  

Exposed APIs

Table 2 APIs
Endpoint Purpose Component API Repository
/device Device management API - DeviceManager GitHub - DeviceManager
/template Template management API - DeviceManager GitHub - DeviceManager
/flows Flow management   GitHub - mashup
/auth User authentication API - auth GitHub - auth
/auth/revoke User authentication API - auth GitHub - auth
/auth/user User authentication API - auth GitHub - auth
/history Device historical data API - STH GitHub - STH
/metric Context broker Orion v1, Orion v2 GitHub - Orion
/gui Graphical User Interface   GitHub - GUI
/sign Public key signing API - EJBCA-REST GitHub - EJBCA-REST
/ca Certification-Auth. functions API - EJBCA-REST GitHub - EJBCA-REST

The API gateway used in dojot reroutes some of these endpoints so that they become uniform: all of them are accessible through the same port (default is TCP port 8000) and have the same naming scheme. Each component, though, might have something different in its configuration and API documentation. The following table shows which endpoint exposed by the API gateway is mapped to which component endpoint.

Table 3 Original endpoints
Service Original endpoint Endpoint
DeviceManager host:5000/device host:8000/device
DeviceManager host:5000/template host:8000/template
mashup host:3000/ host:8000/flows
auth host:5000/ host:8000/auth
auth host:5000/auth/revoke host:8000/auth/revoke
auth host:5000/user host:8000/auth/user
STH host:8666/ host:8000/history
Orion v1 or Orion v2 host:1026/ host:8000/metric
GUI host/ host:8000/gui
ejbca host:5583/sign host:8000/sign
ejbca host:5583/ca host:8000/ca