Components and APIs¶
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¶
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.
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 |