You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: kroxylicious-openmessaging-benchmarks/README.md
+44Lines changed: 44 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,6 +8,48 @@ This project provides Helm charts and automation scripts for benchmarking Kroxyl
8
8
9
9
**Key Insight:** Kroxylicious is a transparent Kafka proxy. We simply change `bootstrap.servers` to point to Kroxylicious instead of Kafka directly.
10
10
11
+
## OMB Container Image
12
+
13
+
The published `openmessaging/openmessaging-benchmark:latest` image ships Kafka client 1.0.0 on Java 8 and is no longer suitable for benchmarking modern Kafka.
14
+
We build our own image from the current upstream source (Kafka 3.6.1, JDK 17) using the `Containerfile` in this directory.
15
+
16
+
### Image tag convention
17
+
18
+
Image tags follow the format `omb-<omb-sha7>-krox-<krox-sha7>-<build>`, for example `omb-8559989-krox-a1b2c3d-42`.
19
+
This encodes the upstream OMB commit, the Kroxylicious commit used for build configuration, and a monotonically increasing build number.
20
+
The Helm chart's `omb.image` in `values.yaml` references a specific tag — never a floating tag like `latest` — so builds are always reproducible.
The GitHub Actions workflow at `/.github/workflows/build-omb-image.yml` (in the repository root) builds and pushes images on demand via `workflow_dispatch`.
39
+
It accepts two inputs:
40
+
41
+
| Input | Required | Description |
42
+
|-------|----------|-------------|
43
+
|`omb_ref`| Yes | Upstream OMB commit SHA, branch, or tag to build from |
44
+
|`kroxylicious_ref`| No (default: `main`) | Kroxylicious ref (branch, tag, or SHA) for build config |
45
+
46
+
The workflow resolves the OMB ref to a full SHA, computes the image tag, builds the image, and pushes it to the registry configured via repository variables (`REGISTRY_SERVER`, `REGISTRY_ORGANISATION`, `REGISTRY_USERNAME`, `REGISTRY_TOKEN`).
47
+
When registry variables are not configured (e.g. on forks), the image is built but not pushed.
48
+
49
+
### Renovate
50
+
51
+
A Renovate custom manager in `/.github/renovate.json` (in the repository root) tracks the `omb.image` reference in `values.yaml` and opens PRs when new image builds are pushed to the registry.
52
+
11
53
## Current Status: Phase 1 Complete ✅
12
54
13
55
**Phase 1 (Baseline Scenario)** is implemented and ready for testing:
0 commit comments