External Kafka Subscription
The first step is to create a destination which contains the external server details where the kafka client is running. It also contains other details such as compression type, linger time, timeouts etc.
Once done, the subscription has to be created, which contains the destination and the type of notifications that are needed. i.e. inventory, PM, audit etc..
During delete, the order is reversed. The subscription should be deleted first followed by the destination.
The communication with destination could be of two types:
- secure, needs certificate for mutual auth, to be uploaded from UI
- non-secure
Non-Secure destination
- URL: https://{server:30603}/crosswork/notification/v1/externalkafka/destination
- METHOD: POST
- AUTHENTICATION: JWT
- Payload:
{ "batchSize": 1048576, "bufferMemory": 104857600, "compressionType": "gzip", "destinationName": "kafkaDestNonSecure", "enableSecureCommunication": false, "kafkaServerIPAddress": "10.78.102.218", "kafkaServerIPAddressFamily": "IPV4", "kafkaServerPort": 9092, "linger": 2000, "maxMessageSize": 1048576, "requestTimeout": 30 }
Secure destination
URL: https://{server:30603}/crosswork/notification/v1/externalkafka/destination
METHOD: POST
AUTHENTICATION: JWT
Payload:
{ "batchSize": 1048576, "bufferMemory": 104857600, "compressionType": "gzip", "destinationName": "kafkaDestSecure", "enableSecureCommunication": true, "kafkaServerIPAddress": "10.78.102.218", "kafkaServerIPAddressFamily": "IPV4", "kafkaServerPort": 9093, "linger": 2000, "maxMessageSize": 1048576, "requestTimeout": 30 }
- Certificate
- Certificate
Create subscription
- URL: https://{server:30603}/crosswork/notification/v1/externalkafka/subscription
- METHOD: POST
- AUTHENTICATION: JWT
- Payload:
{ "destinationName": "kafkaDestNonSecure", "destinationType": "ALARM", "topicName": "alarms-topic" }