Gerrit events listener to send events to an external Apache Kafka broker.

Clone this repo:
  1. 2f81bc3 Increase default value for plugin.@PLUGIN@.numberOfSubscribers by Marcin Czech · 5 months ago master stable-3.10
  2. b8bd44b Merge of ExtendedBrokerApi into BrokerApi by Luca Milanesio · 5 months ago
  3. 9e9803c Merge branch 'stable-3.9' by Luca Milanesio · 5 months ago
  4. 662887a Merge branch 'stable-3.8' into stable-3.9 by Luca Milanesio · 5 months ago stable-3.9
  5. 60781dd Bump kafka-clients to v2.3.1 by Luca Milanesio · 6 months ago stable-3.8

Kafka: Gerrit event producer for Apache Kafka

Build Status

Synopsis

This plugins allows to define a distributed stream of events published by Gerrit.

Events can be anything, from the traditional stream events to the Gerrit metrics.

This plugin requires Gerrit 2.13 or later.

Environments

  • linux
  • java-1.8
  • Bazel

Build

Kafka plugin can be build as a regular ‘in-tree’ plugin. That means that is required to clone a Gerrit source tree first and then to have the Kafka plugin source directory into the /plugins path. The plugin depends on events-broker which is linked directly from source with the same ‘in-tree’ plugin structure.

Additionally, the plugins/external_plugin_deps.bzl file needs to be updated to match the Kafka plugin one.

git clone --recursive https://gerrit.googlesource.com/gerrit
git clone https://gerrit.googlesource.com/plugins/events-kafka gerrit/plugins/events-kafka
git clone https://gerrit.googlesource.com/modules/events-broker gerrit/plugins/events-broker
cd gerrit
rm plugins/external_plugin_deps.bzl
ln -s ./events-kafka/external_plugin_deps.bzl plugins/.

To build the events-kafka plugins, issue the command from the Gerrit source path:

bazel build plugins/events-kafka

The output is created in

bazel-genfiles/plugins/events-kafka/events-kafka.jar
bazel-genfiles/plugins/events-broker/events-broker.jar

Minimum Configuration

Assuming a running Kafka broker on the same Gerrit host, add the following settings to gerrit.config:

  [plugin "events-kafka"]
    bootstrapServers = localhost:9092