EPR

Endpoint Register service (EPR) is the Kaa platform component that keeps record of all endpoint registrations within a solution, as well as their associated key/value attributes (called metadata).

This service provides REST API interfaces to manage endpoints and endpoint metadata keys.

EPR broadcasts endpoint (EP) lifecycle events, such as registration or deletion of an endpoint, as well as any EP metadata update.

EPR persists all EP-related data to MongoDB.

Interfaces

EPR supports a number of interfaces to perform its functional role. The key supported interfaces are summarized in the following diagram.

EPR interfaces diagram

For inter-service communication, Kaa services mainly use REST APIs and messaging protocols that run over NATS messaging system.

EP and metadata management

EPR provides a REST-based interface to manage endpoints and their metadata. This interface allows registering endpoints, updating EP application version and EP metadata, and much more.

Along the REST interface, EPR provides NATS-based interface for managing endpoint metadata. See 19/EPMMP.

EP filters

For details about filtering EPs refer to EP filters documentation.

Along the REST interface, EPR provides NATS-based interface for retrieving endpoint filters. See 20/EFMP.

EP lifecycle and metadata events

EPR broadcasts the following events:

  • Endpoint registered/unregistered, EP application version updated. See 9/ELCE.
  • Endpoint metadata updated. See 15/EME.

Endpoint connectivity events

EPR listens to endpoint connected event defined in 9/ELCE. When an endpoint connects to the platform, EPR compares their reported application version with the stored one, updates it in the database if there was an update, and broadcasts an endpoint application version updated event.

Credential management

EPR uses a REST-based credential management API for provisioning initial tokens for the newly created endpoints.

EP filter events

EPR broadcasts the following EP filter events as defined in the 18/EFE:

  • Endpoint filter activated/deactivated
  • Endpoint matched/unmatched filter

Tekton integration

EPR is integrated with the Kaa Tekton for centralized application configuration management. It receives configuration update messages from Tekton over 17/SCMP and uses Tekton REST API to retrieve current configs.

See configuration for more information.

Kaa Tenant Manager integration

EPR supports multi-tenancy with each tenant using a separate OAuth 2.0 issuer for authentication, authorization, and resource management. The list of the existing tenants is managed by [the Kaa Tenant Manager][Tenant Manager], which provides REST API for retrieving tenant security configs.

See the security configuration for more details on how to enable multi-tenancy in EPR.