Gerrit event producer for Apache Kafka

Clone this repo:
  1. b7b6412 Merge branch 'stable-2.16' by David Ostrovsky · 5 months ago master
  2. ffe159d Bump kafka-clients version to 2.1.0 by David Ostrovsky · 5 months ago stable-2.16
  3. 90d971b Bump testcontainers kafka version to 1.10.6 by David Ostrovsky · 5 months ago
  4. 2e4923a EventConsumerIT: Support ReviewDb and NoteDb backends by David Ostrovsky · 5 months ago
  5. 4a730e6 Start dockerized kafka server from junit test using testcontainers by David Ostrovsky · 1 year ago

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 laster.

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. 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/kafka-events gerrit/plugins/kafka-events
cd gerrit
rm plugins/external_plugin_deps.bzl
ln -s ./kafka-events/external_plugin_deps.bzl plugins/.

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

bazel build plugins/kafka-events

The output is created in

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

Minimum Configuration

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

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