Awesome
HTTP bridge for Apache Kafka®
This project provides a software component which acts as a bridge between HTTP 1.1 (Hypertext Transfer Protocol) and an Apache Kafka® cluster.
It provides a different way to interact with Apache Kafka because the latter natively supports only a custom (proprietary) protocol. Thanks to the bridge, all clients which can speak HTTP 1.1 protocol can connect to Apache Kafka cluster in order to send and receive messages to / from topics.
Running the bridge
On Kubernetes and OpenShift
Use the Strimzi Kafka operator to deploy the Kafka Bridge with HTTP support on Kubernetes and OpenShift.
On bare-metal / VM
Download the ZIP or TAR.GZ file from the GitHub release page and unpack it.
Afterwards, edit the config/application.properties
file which contains the configuration.
Once your configuration is ready, start the bridge using:
bin/kafka_bridge_run.sh --config-file config/application.properties
Kafka Bridge releases are also available to download from the Strimzi website.
Kafka Bridge documentation
The Kafka Bridge documentation provides information on getting started with the Kafka Bridge.
The source files for the Kafka Bridge documentation are maintained in the documentation
folder.
The documentation is maintained in .adoc
files.
The .adoc
files for the API reference section (documentation/book/api
) are generated from descriptions in the source OpenAPI JSON file (src/main/resources/openapiv2.json
), so they must not be edited directly.
If you spot something that needs updating or changing in the Kafka Bridge documentation, you can open an issue or open a PR and contribute directly.
For more information on contributing to the Strimzi documentation, see the Strimzi Documentation Contributor Guide.
Getting help
If you encounter any issues while using Strimzi Kafka Bridge, you can get help through the following methods:
Contributing
You can contribute by:
- Raising any issues you find using Strimzi Kafka Bridge
- Fixing issues by opening Pull Requests
- Improving documentation
- Talking about Strimzi Kafka Bridge
All bugs, tasks or enhancements are tracked as GitHub issues. Issues which might be a good start for new contributors are marked with "good-start" label.
The Building Strimzi Kafka Bridge guide describes how to build Strimzi Kafka Bridge and how to test your changes before submitting a patch or opening a PR.
If you want to get in touch with us first before contributing, you can use:
Learn more on how you can contribute on our Join Us page.
License
Strimzi Kafka Bridge is licensed under the Apache License, Version 2.0
Container signatures
From the 0.27.0 release, Strimzi Kafka Bridge containers are signed using the cosign
tool.
Strimzi currently does not use the keyless signing and the transparency log.
To verify the container, you can copy the following public key into a file:
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAET3OleLR7h0JqatY2KkECXhA9ZAkC
TRnbE23Wb5AzJPnpevvQ1QUEQQ5h/I4GobB7/jkGfqYkt6Ct5WOU2cc6HQ==
-----END PUBLIC KEY-----
And use it to verify the signature:
cosign verify --key strimzi.pub quay.io/strimzi/kafka-bridge:latest --insecure-ignore-tlog=true
Software Bill of Materials (SBOM)
From the 0.27.0 release, Strimzi Kafka Bridge publishes the software bill of materials (SBOM) of our containers.
The SBOMs are published as an archive with SPDX-JSON
and Syft-Table
formats signed using cosign.
For releases, they are also pushed into the container registry.
To verify the SBOM signatures, please use the Strimzi public key:
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAET3OleLR7h0JqatY2KkECXhA9ZAkC
TRnbE23Wb5AzJPnpevvQ1QUEQQ5h/I4GobB7/jkGfqYkt6Ct5WOU2cc6HQ==
-----END PUBLIC KEY-----
You can use it to verify the signature of the SBOM files with the following command:
cosign verify-blob --key cosign.pub --bundle <SBOM-file>.bundle --insecure-ignore-tlog=true <SBOM-file>