Screwdriver AWS Integration Producer Service
Producer Service for Screwdriver Kafka Queue
This service acts as a message producer and provides and interface to publish messages to Screwdriver Kafka Instance.
npm install screwdriver-aws-producer-service
The configuration for the package
Parameter | Type | Default | Description |
---|---|---|---|
enabled | bool | true | Flag for enabling broker config |
hosts | array | [] | Array of broker endpoints |
sasl | object | sasl object | |
sasl.mechanism | string | scram-sha-512 | sasl mechanism |
sasl.secretId | string | - | AWS secret manager id for sasl secret |
clientId | string | - | Client id connecting to kafka brokers |
accessKeyId | string | - | AWS access key id |
secretAccessKey | string | - | AWS secret key id |
region | string | - | AWS region |
kafka:
# flag for kafka broker
enabled: true
# kafka brokers list
hosts: KAFKA_BROKERS_LIST
# sasl options
sasl:
# sasl mechanism
mechanism: scram-sha-512
# secret id for sasl/scram
secretId: fakesecret
# client id of the producer
clientId: sd-producer
# Amazon access key
accessKeyId: KAFKA_ACCESS_KEY_ID
# Amazon secret access key
secretAccessKey: KAFKA_ACCESS_KEY_SECRET
# AWS region
region: AWS_REGION
Connects as a client instance to the kafka broker based on the specified configuration
A Promise that resolves to a Kafka producer object.
Sends a message to a kafka topic.
Parameter | Type | Description |
---|---|---|
producer | Object | The producer object after calling connect() |
data | Object | The message data object |
topic | String | The name of the topic |
messageId | String | The id of the message |
Connects as a client instance to the kafka broker based as an admin with elevated permissions on the specified configuration
A Promise that resolves to a Kafka admin object.
Creates a kafka topic and disconnects the admin connection.
Parameter | Type | Description |
---|---|---|
admin | Object | The admin object after calling connectAdmin() |
topic | String | The name of the topic |
Gets kafka metadata for the give kafka topic and disconnects the admin connection.
Parameter | Type | Description |
---|---|---|
admin | Object | The admin object after calling connectAdmin() |
topic | String | The name of the topic |
A Promise that resolves to a Kafka topic metadata object.
npm test
To start contributing to Screwdriver, have a look at our guidelines, as well as pointers on where to start making changes, in our contributing guide.
Code licensed under the BSD 3-Clause license. See LICENSE file for terms.