We'll talk deeper about the data flow in the Developer Guide but here is the main role of each component:
Is hosting the entire data-model and expose a gRPC
API layer to let other components interact with the data model.
Chameleon is reponsible to expose a description of the models stored in XOS-CORE
and to provide the bindings between REST
and gRPC
It is hosting a redis
server used as primary pub-sub mechanism in the system
Listen to redis
events and transform them into web-sockets
events in order to keep XOS-GUI
updated
Is hosting the GUI SPA and exposing it to the world through a web-server, in this case nginx