Apache vendor logo

Vendor

Apache

Product

Kafka

Method

Library

Category

Notifications

Events Streaming

Project Type

Workflow Project


View Repository
Workflow

Apache Kafka - Modular Automations

Overview

The integration of Itential and the Apache Kafka solution enables teams to utilize kafka-node npm library to build automations that can include common tasks for Kafka such as producing a message. This is a library of related automations that can be used as modular components in your own larger, end-to-end workflows.

Workflows

NameOverview
Produce Message - Kafka - LibraryProduce messages on a Kafka topic

For further technical details on how to install and use this Workflow Project, please click the Technical Documentation tab.

Table of Contents

Getting Started

This section is helpful for deployments as it provides you with pertinent information on prerequisites and properties.

Helpful Background Information

Workflows often include logic that varies from business to business. As a result, we often find that our Workflow Projects are more useful as modular components that can be incorporated into a larger process. In addition, they often can add value as a learning tool on how we integrate with other systems and how we do things within the Itential Automation Platform.

While these can be utilized, you may find more value in using them as a starting point to build around.

Prerequisites

Itential Workflow Projects are built and tested on particular versions of IAP. In addition, Workflow Projects are often dependent on external systems and as such, these Workflow Projects will have dependencies on these other systems. This version of Apache - Kafka - Library has been tested with:

  • IAP 2023.2

External Dependencies

NameOS VersionAPI Version
Apache Kafka

Adapters

NameVersionConfiguration Notes
adapter-kafka^0.5.0

How to Install

To install the Workflow Project:

  • Verify you are running a supported version of the Itential Automation Platform (IAP) as listed above in the Supported IAP Versions section in order to install the Example Project.
  • Import the Example Project in Admin Essentials.

Testing

Cypress is generally used to test all Itential Example Projects. While Cypress is an opensource tool, at Itential we have internal libraries that have been built around Cypress to allow us to test with a deployed IAP.

When certifying our Example Projects for a release of IAP we run these tests against the particular version of IAP and create a release branch in GitLab. If you do not see the Example Project available in your version of IAP please contact Itential.

While Itential tests this Example Project and its capabilities, it is often the case the customer environments offer their own unique circumstances. Therefore, it is our recommendation that you deploy this Example Project into a development/testing environment in which you can test the Example Project.

Using this Workflow Project

Workflow Projects contain 1 or more workflows. Each of these workflows have different inputs and outputs.

Produce Message - Kafka - Library

Produce messages on a Kafka topic

Capabilities include:

  • Produce messages on a Kafka topic

Entry Point IAP Component

The primary IAP component to run Produce Message - Kafka - Library is listed below:

IAP Component NameIAP Component Type
Produce Message - Kafka - LibraryWorkflow

Inputs

The following table lists the inputs for Produce Message - Kafka - Library:

NameTypeRequiredDescriptionExample Value
adapterIdstringyesKafka adapter instance name configured in IAP
Kafka
topicstringyesKafka topic name on which message will be produced
test-topic
messagesarrayyesList of messages to be produced
[
  "test message1",
  "test message2"
]
suppressMessagebooleanyesBoolean to suppress the view data task
true

Outputs

The following table lists the outputs for Produce Message - Kafka - Library:

NameTypeDescriptionExample Value
kafkaResponseobjectProduce message response
{
  "status": "success",
  "code": 200,
  "response": {
    "test": {
      "0": 22
    }
  }
}
kafkaStatusstringProduce message status
Success

Query Output

The following items show how to query successful results from the output of Produce Message - Kafka - Library:

kafkaStatus

kafkaStatus

The following items show how to query failure results from the output of Produce Message - Kafka - Library:

kafkaStatus

kafkaStatus

Example Inputs and Outputs

Example 1

Input:

{
  "adapterId": "Kafka",
  "topic": "test-topic",
  "messages": ["test message1", "test message2"],
  "suppressMessage": false
} 

Output:

{
  "adapterId": "Kafka",
  "topic": "test",
  "messages": [
    "test message"
  ],
  "suppressMessage": false,
  "_id": "b6dae5bf1d344164bdeccd17",
  "initiator": "admin@pronghorn",
  "messagesArr": [
    {
      "topic": "test",
      "messages": [
        "test message"
      ]
    }
  ],
  "kafkaResponse": {
    "status": "success",
    "code": 200,
    "response": {
      "test": {
        "0": 22
      }
    }
  },
  "kafkaStatus": "Success",
  "responseBody": {
    "status": "success",
    "code": 200,
    "response": {
      "test": {
        "0": 22
      }
    }
  }
} 

API Links

API NameAPI Documentation LinkAPI Link Visibility
Apache Kafka API Documentationhttps://kafka.apache.org/documentation/#gettingStartedPublic
IAP Operations Manager Event Trigger Overviewhttps://docs.itential.com/docs/triggers-2023-1#event-triggersPublic
IAP Event System Overviewhttps://docs.itential.com/docs/event-system-4Public
Itential adapter-kafka Properties Configurationhttps://gitlab.com/itentialopensource/adapters/notification-messaging/adapter-kafka/-/blob/master/PROPERTIES.md?ref_type=heads#adapter-properties-and-descriptionsPublic

Additional Information

Support

Please use your Itential Customer Success account if you need support when using this Workflow Project.