Skip to main content

Germqtt, like its name implies, is a tool for publish a gerrit event stream into MQTT. It will publish all the capture events from the gerrit event stream and publish them to MQTT into topics split by project and event type. For example a commented added to a project name foo would be published as an event on the topic: base_topic/foo/commented-added

By default germqtt is setup as a daemon however if you need to run it interactively you can use the –foreground option to do this.

Configuration

There are a few required pieces of information to make germqtt work properly. These settings are specified in the config file.

Gerrit

You need to provide credentials and connection information for connecting to gerrit to get the event stream. Germqtt uses the gerritlib library to establish a connection to gerrit over ssh and listen to the event stream. All these options live in the [gerrit] section. The 3 required options for gerrit are:

  • username - The username to login with

  • hostname - The hostname for your gerrit server

  • key - The path to your ssh key to use for connecting to gerrit

There is also an optional config option, port, which is used to specify the port to connect to gerrit with. By default this is set to 29418, which is the gerrit default. If your gerrit server uses a non-default port you’ll need to set this option.

MQTT

Just as with gerrit there are a few required options for talking to MQTT, which is the other axis of communication in germqtt. The options for configuring MQTT communication go in the [mqtt] section. The 2 required options are:

  • hostname - The hostname for the MQTT broker

  • topic - The base topic name to use for the gerrit events

There are also a couple optional settings for communicating with mqtt that you can set:

  • port - The port to communicate to the MQTT broker on. By default this

    is set to 1883, the default MQTT port. This only needs to be set if your broker uses a non-default port.

  • keepalive - Used to set the keepalive time for connections to the MQTT

    broker. By default this is set to 60 seconds.

  • username - Used to set the auth username to connect to the MQTT broker

    with.

  • password - Used to set the auth password to connect to the MQTT broker

    with. A username must be set for this option to be used.

Other Settings

By default germqtt will use /var/run/germqtt.pid for it’s PID file, if however you’d like to use a different file for storing the PID you can use the pidfile option in the [default] section of the configuration file.

Release files for germqtt 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for germqtt 0.1.0
File Size Uploaded
germqtt-0.1.0.tar.gz 11.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for germqtt 0.1.0
File Interpreter ABI Platform
germqtt-0.1.0-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 19.9 kB

Release files / germqtt-0.1.0.tar.gz

Download URL germqtt-0.1.0.tar.gz
Size 11.3 kB
Tags Source
SHA-256 checksum
How to use checksums
91ebe2b2dbc4f0138076b5436b7cddc9a64f48ca24945eed157730abf77c1820
BLAKE2b-256 checksum
How to use checksums
5c093c715a53a87566c12aba8b303ee3954afbf9e2eac172bab9efc21836acf5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / germqtt-0.1.0-py2.py3-none-any.whl

Download URL germqtt-0.1.0-py2.py3-none-any.whl
Size 8.6 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
ba45f57ac61f69519c210442b08fc1aac1202788cddabc7621cc4cfe44afbd69
BLAKE2b-256 checksum
How to use checksums
3d9283ca6751eb2d63aa80a41196c5583b631c3d9b7ad111660b3bed2c6259b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

0.0.1

1 release file

0.0.1.dev4

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page