Kafka CDS Events

The Kafka Integration is a Self-Service integration that can be configured on a CDS Project. If you are a CDS Administrator, you can configue this integration to be available on all CDS Projects.

An example of use case could be that you want to generate some svg badge. Then you can just add an event integration for your workflow and plug the badge microservice on this kafka topic.

Configure with WebUI

You can add a Kafka Integration on your CDS Project.

Integration

Configure with cdsctl

Import a Kafka Integration on your CDS Project

Create a file project-configuration.yml:

name: your-kafka-integration
model:
  name: Kafka
  identifier: github.com/ovh/cds/integration/builtin/kafka
  event: true
config:
  broker url:
    value: n1.o1.your-broker:9093,n2.o1.n1.o1.your-broker:9093,n3.o1.n1.o1.your-broker:9093
    type: string
  password:
    value: '**********'
    type: password
  username:
    value: kafka-username
    type: string

Import the integration on your CDS Project with:

cdsctl project integration import PROJECT_KEY project-configuration.yml

Then, as a standard user, you can add a Kafka Hook on your workflow.

Create a Public Kafka Integration for whole CDS Projects

You can also add a Kafka Integration with cdsctl. As a CDS Administrator, this allows you to propose a Public Kafka Integration, available on all CDS Projects.

Create a file public-configuration.yml:

name: your-kafka-integration
event: true
public: true
public_configurations:
  name-of-integration:
    "broker url":
      type: string
      value: "n1.o1.your-broker:9093,n2.o1.n1.o1.your-broker:9093,n3.o1.n1.o1.your-broker:9093"
    "topic":
      type: string
      value: "your-topic.events"
    "username":
      type: string
      value: "your-topic.cds-reader"
    "password":
      type: password
      value: xxxxxxxx

Import the integration with :

cdsctl admin integration-model import public-configuration.yml

Then, as a standard user, you can add a Kafka Hook on your workflow.

One Integration, two use case

You can use an integration kafka for two use cases: Event and Hooks. Example of file public-configuration.yml:

name: your-kafka-integration
event: true
hook: true
public: true
...