XOS Internal

XOS, often referred as the CORD orchestrator, is the unique source of truth in a CORD installation. Here is an overview of its structure.

Please note that this page is a work in progress, and help/contribution is really appreciated.

Containers

XOS is made up of a set of Docker containers that cooperate to provide the platform functionalities, from data-model to northbound APIs to synchronizers.

Here is an inventory of those containers:

NameDescriptionPorts
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 REST at /xos-tosca9102
xos-guiNorthbound GUI interface, accessible at /xos4000
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

Additionally some infrastructure helpers such as consul and registrator are deployed to facilitate service discovery.

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

xos-containers