XOS Containers

When deployed, XOS runs as a set of Docker containers that cooperate to provide platform controller functionality, including the data model, synchronizers, and northbound APIs. The following is an inventory of those containers:

NameDescriptionInternal Ports
xos-coreThe core of the platform; responsible for maintaining the data model50051, 500515
xos-dbA Postgres instance; used to persist the data model5432
xos-redisA Redis instance; used as pub/sub channel for internal notifications5432
xos-toscaNorthbound TOSCA interface; accessible via REST9102
xos-guiNorthbound GUI dashboard4000
xos-wsListens to redis events and propagates them over web-sockets3000
xos-chameleonNorthbound REST interface; accessible at /xosapi/v1/.. (swagger is published at /apidocs/3000
kafkaA Kafka bus; used by some backend components to send event notifications9092

All the communication between containers happen over gRPC except for xos-gui, which uses a combination of REST and web-socket.

Note: The dotted lines identify optional components that are required only in certain configurations.

xos-containers