.. This work is licensed under a
.. Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
..
.. Copyright (C) 2021 Bell Canada

===================
CPS Temporal Design
===================

Exposed APIs
============

CPS Temporal is providing a REST HTTP API to query historical CPS data.
Its OPEN API Specification can be found either:

* In :download:`openapi.yml <../_static/openapi/swagger/openapi.yml>`
  file
* At ``https://<cps-temporal-host>:<cps-temporal-port>/swagger/openapi.yml``
  endpoint available on CPS Temporal running instance

Swagger UI is also available at:

* ``https://<cps-temporal-host>:<cps-temporal-port>/swagger-ui.html``

And following Postman collection can be used to send requests to any running
instance:

* :download:`CPS Temporal Postman Collection <../_static/postman-collections/cps-temporal-postman-collection.json>`

Event Integration
=================

CPS Core and CPS Temporal are integrated with an event driven architecture.
Integration between these two components is event notification based.

For each data modification handled by CPS Core,

* CPS Core is publishing, to a dedicated Kafka topic, an event representing
  the data configuration or state.
* CPS Temporal is listening to the same topic for the event and is responsible
  to keep track of all data over time.

Refer to :doc:`modeling` for more details on the event structure.
