kafka-topic-channel

module
v0.0.0-...-87f0ce8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 30, 2023 License: Apache-2.0

README

Kafka Topic Channel

Go Report Card go.dev reference LICENSE

Kafka Topic Channel is a knative channel class based on kafka topic

Why ?

There are already knative maintained channels like kafka consolidated, kafka distributed, inmemory channel, why new channel? The answer is

Knative eventing primitives like broker, trigger and subscription are great for event processing, but they rely on the underlying channel. The existing kafka based channels needs kafka admin rights and requires the knative operator to maintain the kafka cluster or find a managed kafka cluster with admin rights. As a knative operator its challenging to maintain another big solution like kafka. If you are in the same boat, this kafka channel solution might work for you.

This implementation,

  • Creates a knative channel based on the Kafka Topic information in any namespace.
  • Kafka connection information is identical to kafka source
  • Other knative primitives like broker, trigger and subscription works as is on this channel
  • Each kafka topic channel resource would create a separate dispatcher/channel pod
  • Bring your own kafka topic, get a knative channel
Installation

Prereq for using this channel is knative eventing with broker.

Once you have knative eventing in your cluster, install knative-topic-channel.

kubectl apply -f config/release/release.yaml
Usage

Please take a look at the samples on how to use this channel.

Contributing to the Project

The team is open to contributions to our project. For more details, see our Contribution Guide.

Directories

Path Synopsis
cmd
config
pkg
apis/messaging/v1alpha1
Package v1alpha1 is the v1alpha1 version of the API.
Package v1alpha1 is the v1alpha1 version of the API.
client/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
client/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
client/clientset/versioned/typed/messaging/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/messaging/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
test

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL