Backend Services
This page contains the list of all backend services and their description and configuration.
aml-submit-trace-request
Overview
The service is used for submitting trace requests to Vocalink. It listens to submit-trace-request queue and calls the Vocalink API when it receives a message. The service doesn't call the API directly, but communicates with a proxy that forwards requests to actual Vocalink API.
Dependencies
- RabbitMQ
- aml-trace-service
- cms-case-api
- vocalink-proxy
Environment Variables
RABBITMQ_HOST
- The host where the RabbitMQ runs.RABBITMQ_PORT
- The port on which RabbitMQ runs.VOCALINK_API_HOST
- The host and port where vocalink-proxy runs. The value should end with /v1/vocalink e.g. localhost:8080/v1/vocalink. All requests to /v1/vocalink are forwarded to Vocalink API.AML_TRACE_SERVICE_HOST
- The host and port where aml-trace-service runs.CMS_CASE_API_HOST
- The host and port where cms-case-api runs.HEALTH_CHECK_PORT
- Optional variale to set the health check port. Default value is 8080.
aml-trace-service
Overview
The service is used by the frontend client to submit trace requests. It sends a message to RabbitMQ when it receives a trace request from the client. It also provides status endpoints that are used by the client to get the status of the submitted trace request.
Dependencies
- RabbitMQ
- Redis
Environment Variables
REDIS_URL
- The URL where Redis runs.RABBITMQ_HOST
- The host where the RabbitMQ runs.RABBITMQ_PORT
- The port on which RabbitMQ runs.PORT
- Optional variable that specifies which port the service runs on. The default value is 8080.
aml-update-case
Overview
The service is used to periodically update CMS cases. It listens to RabbmitMQ and updates the CMS cases for the tenant that have been updated i.e. there was a change in the dispersion network.
Dependencies
- RabbitMQ
- Postgres
- cms-case-api
- vocalink-proxy
Environment Variables
RABBITMQ_HOST
- The host where the RabbitMQ runs.RABBITMQ_PORT
- The port on which RabbitMQ runs.RABBITMQ_EXCHANGE_NAME
- The exchange name where the service listens for incoming messages. The messages are generated by cms-jobscheduler.RABBITMQ_QUEUE_NAME
- The queue name where the service listens for incoming messages. The messages are generated by cms-jobscheduler.PGUSER
- Postgres usernamePGPASSWORD
- Postgres passwordPGHOST
- The host or IP where Postgres runsPGPORT
- The port where Postgres runsPGDATABASE
- Postgres database nameVOCALINK_API_HOST
- The host and port of the Vocalink API. Use the mock IP host until we have access to the real API.CMS_CASE_API_HOST
- The host and port where cms-case-api runs.HEALTH_CHECK_PORT
- Optional variale to set the health check port. Default value is 8080.
cms-attach-network-image
Overview
The service is responsible for attaching a dispersion network image to the related case when it receives a message from RabbitMQ.
Dependencies
- RabbitMQ
- cms-case-api
Environment Variables
RABBITMQ_HOST
- The host where the RabbitMQ runs.RABBITMQ_PORT
- The port on which RabbitMQ runs.RABBITMQ_EXCHANGE_NAME
- The exchange name where the service listens for incoming messages. The messages are generated by tenant's workflow when a CMS case is created.RABBITMQ_QUEUE_NAME
- The queue name where the service listens for incoming messages. The messages are generated by tenant's workflow when a CMS case is created.CMS_CASE_API_HOST
- The host and port where cms-case-api runs.HEALTH_CHECK_PORT
- Optional variale to set the health check port. Default value is 8080.
Dependencies
- Postgres
Environment Variables
DB_CONNECTION
- DB connection URL, e.g. jdbc:postgresql://postgres-instance.com:5432/auditserviceDB_USER
- username of databaseDB_PWD
- password of databaseFLYWAY_URL
- DB connection URL for migrations, e.g. jdbc:postgresql://postgres-instance.com:5432/auditserviceFLYWAY_USER
- username of migration databaseFLYWAY_PASSWORD
- password of migration database
cms-case-api
Overview
The service implements the Case API which is used by other services and the frontend.
Dependencies
- RabbitMQ
- Postgres
Environment Variables
PGUSER
- Postgres usernamePGPASSWORD
- Postgres passwordPGHOST
- The host or IP where Postgres runsPGPORT
- The port where Postgres runsPGDATABASE
- Postgres database nameRABBIT_HOST
- The host where the RabbitMQ runs.RABBIT_PORT
- The port on which RabbitMQ runs.PORT
- Optional variable that specifies which port the service runs on. The default value is 8080.LOG_LEVEL
- Log level of the service, supported valueserror, warn, notice, info, debug, trace
NODE_ENV
- Application envrionment, supported values -local, dev, test, prod
CONFIG_API_URL
- Internal config service urlCASE_API_URL
- Internal case-api service urlTRX_API_URL
- Internal transaction service urlUSER_API_URL
- Internal user-admin service urlRULES_API_URL
- Rules service urlEVENT_ROUTE_URL
- Workflow service urlAUTHBROKER_ENDPOINT
- Auth broker service urlROOT_CA_CERT_BUNDLE
- Root CA certificates file bundle path
cms-config-service
Overview
This is a service used for the dynamic configuration of CMS application modules in YAML, with new-line comments, and a history system of changes. It also uses a master default config which is used if a local tenant doesn't have a config set (yet). The goal of this service is to save YAML configs with new-line comments and retrieve them as JSON without comments.
More information about how to use the service can be found here.
Dependencies
- Postgres
Environment Variables
ENV_TYPE
- Indicates the environment which determines what configuration file to use. Set it to "develop" if you want to use the values from environment variables.DB_CONNECTION
- DB connection URL, e.g. jdbc:postgresql://postgres-instance.com:5432/configserviceDB_USER
- username of databaseDB_PWD
- password of databaseFLYWAY_URL
- DB connection URL for migrations, e.g. jdbc:postgresql://postgres-instance.com:5432/auditserviceFLYWAY_USER
- username of migration databaseFLYWAY_PASSWORD
- password of migration database
cms-create-case-service
Overview
The service is used to create new CMS cases when it receives a message from RabbitMQ.
Dependencies
- RabbitMQ
- Postgres
- cms-case-api
Environment Variables
CASE_API_URL
- The host and port where cms-case-api runs.RABBITMQ_HOST
- The host where the RabbitMQ runs.RABBITMQ_PORT
- The port on which RabbitMQ runs.HEALTH_CHECK_PORT
- Optional variale to set the health check port. Default value is 8080.
cms-dashboard
Overview
The service supports CRUD operations for CMS dashboards.
Dependencies
- Postgres
Environment Variables
PGUSER
- Postgres usernamePGPASSWORD
- Postgres passwordPGHOST
- The host or IP where Postgres runsPGPORT
- The port where Postgres runsPGDATABASE
- Postgres database namePORT
- Optional variable that specifies which port the service runs on. The default value is 8080.
cms-dispatcher
Overview
The dispatcher is a microservice that is used to handle logic and incoming messages from the message queue and process them with the logic configured in the workflow configurations provided by the event-routing service.
Dependencies
- RabbitMQ
- cms-case-api
- cms-event-routing
Environment Variables
RABBIT_HOST
- The host where the RabbitMQ runs.RABBIT_PORT
- The port on which RabbitMQ runs.EVENT_ROUTING_SERVICE_ENDPOINT
- The endpoint for the event-routing service for workflow configuration (it should be set to the URL of cms-event-routing microservice)CASE_API_SERVICE_ENDPOINT
- The host and port where cms-case-api runs.
cms-event-routing
Overview
The service is used to define workflows for tenants.
Dependencies
- Postgres
- RabbitMQ
- cms-route-validation
Environment Variables
RABBIT_HOST
- The host where the RabbitMQ runs.RABBIT_PORT
- The port on which RabbitMQ runs.VALIDATION_SERVICE_URL
- The URL of cms-route-validation service.DB_DATABASE
- Database nameDB_URL
- Database hostDB_USER
- Database usernameDB_PWD
- Database passwordDB_PORT
- Database portAPP_PORT
- Optional variable that specifies which port the service runs on. The default value is 8080.
cms-jobscheduler-service
Overview
The service is used to define periodical jobs similarily to how cron works. The only jobs that are supported so far are the jobs that update CMS cases.
Dependencies
- RabbitMQ
- Postgres
Environment Variables
PGUSER
- Postgres usernamePGPASSWORD
- Postgres passwordPGHOST
- The host or IP where Postgres runsPGPORT
- The port where Postgres runsPGDATABASE
- Postgres database nameRABBITMQ_HOST
- The host where the RabbitMQ runs.RABBITMQ_PORT
- The port on which RabbitMQ runs.PORT
- Optional variable that specifies which port the service runs on. The default value is 8080.
cms-link-cases-service
Overview
The service listens on the link-cases RabbitMQ queue to process link cases through the CASE API based on logic passed along in the message. The service accesses the case-api database directly to link cases. Therefore, the Postgres environment variables point to the case-api database; the service doesn't have its own database.
Dependencies
- RabbitMQ
- Postgres
- cms-case-api
Environment Variables
CMS_CASE_API_URL
- The host and port where cms-case-api runs.RABBIT_HOST
- The host where the RabbitMQ runs.RABBIT_PORT
- The port on which RabbitMQ runsPGUSER
- Postgres username for the case-api database.PGPASSWORD
- Postgres password for the case-api database.PGHOST
- The host or IP where the case-api database runs.PGPORT
- The port where the case-api database runs.PGDATABASE
- Name of the case-api database.HEALTH_CHECK_PORT
- Optional variale to set the health check port. Default value is 8080.
cms-metrics
Overview
The service is used to support different dashlets by providing metrics data.
Dependencies
- cms-config-service
- Postgres
Environment Variables
CUBEJS_DB_HOST
- Database host URLCUBEJS_DB_NAME
- Database nameCUBEJS_DB_USER
- Database usernameCUBEJS_DB_PASS
- Database passwordCUBEJS_DB_TYPE
- A database type supported by Cubje.js e.g. 'postgres' - see support typesCONFIG_API_HOST
- The host that runs config service (without port number).CONFIG_API_PORT
- The port used by config service.CUBEJS_METRICSDB_HOST
-cms-metrics-server
database hostCUBEJS_METRICSDB_NAME
-cms-metrics-server
database nameCUBEJS_METRICSDB_USER
-cms-metrics-server
database usernameCUBEJS_METRICSDB_PASS
-cms-metrics-server
database passwordCUBEJS_METRICSDB_PORT
-cms-metrics-server
database portPORT
- Specifies which port the service runs on.CLIENT_INFO_ENDPOINT
- The endpoint dashlets use to retrieve client information e.g. bank IDs.
cms-metrics-service
Overview
The service listens to RabbitMq to store the data necessary for metrics. It is intended to replace cms-metrics that queries the case_api directly in the future.
Dependencies
- Rabbitmq
- cms-case-api
Environment Variables
PGUSER
- Postgres username for the case-api database.PGPASSWORD
- Postgres password for the case-api database.PGHOST
- The host or IP where the case-api database runs.PGPORT
- The port where the case-api database runs.PGDATABASE
- Name of the case-api database.RABBIT_HOST
- The host where the RabbitMQ runs.RABBIT_PORT
- The port on which RabbitMQ runs
cms-mock-vlapi
Overview
Mock API we will need to use until we have access to actual Vocalink API.
Dependencies
Environment Variables
CONFIG_API_HOST
- Config server hostnameCONFIG_API_PORT
- Config servier portPORT
- Optional variable that specifies which port the service runs on. The default value is 8080.
cms-purge-service
Overview
A service that listens on the purge RabbitMQ queue to periodically purge CMS records.
Dependencies
- RabbitMQ
- cms-case-api
Environment Variables
PGUSER
- cms-case-api database user.PGPASSWORD
- cms-case-api database password.PGHOST
- The host where the cms-case-api database is hosted.PGDATABASE
- The name of the cms-case-api database.PGPORT
- The port where the cms-case-api database.RABBIT_HOST
- The host where the RabbitMQ runs.RABBIT_PORT
- The port on which RabbitMQ runs.
cms-route-validation
Overview
The service is used to validate workflows.
Dependencies
- RabbitMQ
- cms-case-api
Environment Variables
RABBIT_HOST
- The host where the RabbitMQ runs.RABBIT_PORT
- The port on which RabbitMQ runs.RABBIT_MANAGE_PORT
- The manage port for RabbitMQ.CMS_CASE_API_URL
- The host and port where cms-case-api runs.
user-admin-service
Overview
API service for managing users, groups and roles for the Brighterion suite of applications. Use Keycloak if you'd like to use SSO.
Dependencies
- Postgres
Environment Variables
DB_USER - Database username DB_PWD - Database password DB_URL - Database url - use JDBC format.
vocalink-proxy
Overview
Vocalink proxy used by the services that want to communicate with Vocalink API and store simple client attributes. More information about the service can be found here.
Dependencies
- Postgres
- cms-case-api
- Vocalink API - we'll need to use the mock API until we have access to actual API.
Environment Variables
PGUSER
- Postgres usernamePGPASSWORD
- Postgres passwordPGHOST
- The host or IP where Postgres runsPGPORT
- The port where Postgres runsPGDATABASE
- Postgres database nameCMS_CASE_API_HOST
- The host and port where cms-case-api runs.VOCALINK_API_HOST
- The host and port of the Vocalink API. Use the mock IP host until we have access to the real API.CMS_CONFIG_SERVICE_API_HOST
- The host and port where the config service runs.PROXY_TIMEOUT_MS
- Optional variable that specifies request timeout. The default value is 5000.PORT
- Optional variable that specifies which port the service runs on. The default value is 8080.
cms-search-trx-service
Overview
This service is used to fetch the transactions from data lake(Open Search).
Dependencies
- Open Search
- cms-case-api
Environment Variables
PORT
- Application will run on this port. Default is 8080MAX_TRANSACTIONS_TO_BE_FETCHED
- Number of transactio to be fetched from Open Search cluster in single queryCASE_API_SERVICE_ENDPOINT
- Internal load-balancer URL of cms-case-api serviceCONFIG_API_URL
- Internal load-balancer URL of config-api serviceLOG_LEVEL
- Log level of the service, supported valueserror, warn, notice, info, debug, trace