XOS Containers

XOS is made up of a set of Docker containers that cooperate to provide platform controller functionaly, including the data model, synchronizers, and northbound APIs. The following is an inventory of those containers:

NameDescriptionInternal Ports
xos-coreThe core of the platform, contains the model definition and the xProto toolchain50051, 500515
xos-dbThe Postgres instance that persists 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 interface4000
xos-wsListens to redis events and propagates them over web-sockets for notifications3000
xos-chameleonNorthbound REST interface, accessible at /xosapi/v1/.. (swagger is published at /apidocs/3000
kafkaEvent bus shared between all the CORD components that needs it9092

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

All the communication between containers happen over gRPC except for xos-gui where it is a combination of REST and web-socket.

xos-containers