Skip to content

Commit 1bcb219

Browse files
authored
Merge branch 'main' into mike-pt/patch-jaasConfig-for-gcp
2 parents 1b6d400 + 5aa560f commit 1bcb219

File tree

229 files changed

+12885
-1485
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

229 files changed

+12885
-1485
lines changed

.github/workflows/cve_checks.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ jobs:
6868
cache-to: type=local,dest=/tmp/.buildx-cache
6969

7070
- name: Run CVE checks
71-
uses: aquasecurity/trivy-action@18f2510ee396bbf400402947b394f2dd8c87dbb0 # infered from @v0.29.0
71+
uses: aquasecurity/trivy-action@dc5a429b52fcf669ce959baa2c2dd26090d2a6c4 # infered from @v0.32.0
7272
with:
7373
image-ref: "ghcr.io/kafbat/kafka-ui:latest"
7474
format: "table"

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,3 +51,4 @@ node_modules/
5151
.gradle
5252
@rerun.txt
5353
test-results
54+
frontend/test-report.xml

README.md

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -43,17 +43,23 @@ We extend our gratitude to Provectus for their past support in groundbreaking wo
4343
![Interface](https://raw.githubusercontent.com/kafbat/kafka-ui/images/overview.gif)
4444

4545
# Features
46-
* **Multi-Cluster Management** — monitor and manage all your clusters in one place
47-
* **Performance Monitoring with Metrics Dashboard** — track key Kafka metrics with a lightweight dashboard
48-
* **View Kafka Brokers** — view topic and partition assignments, controller status
49-
* **View Kafka Topics** — view partition count, replication status, and custom configuration
50-
* **View Consumer Groups** — view per-partition parked offsets, combined and per-partition lag
51-
* **Browse Messages** — browse messages with JSON, plain text, and Avro encoding
52-
* **Dynamic Topic Configuration** — create and configure new topics with dynamic configuration
53-
* **Configurable Authentication**[secure](https://ui.docs.kafbat.io/configuration/authentication) your installation with optional Github/Gitlab/Google OAuth 2.0
54-
* **Custom serialization/deserialization plugins** - [use](https://ui.docs.kafbat.io/configuration/serialization-serde) a ready-to-go serde for your data like AWS Glue or Smile, or code your own!
55-
* **Role based access control** - [manage permissions](https://ui.docs.kafbat.io/configuration/rbac-role-based-access-control) to access the UI with granular precision
56-
* **Data masking** - [obfuscate](https://ui.docs.kafbat.io/configuration/data-masking) sensitive data in topic messages
46+
47+
* **Topic Insights** – View essential topic details including partition count, replication status, and custom configurations.
48+
* **Configuration Wizard** – Set up and configure your Kafka clusters directly through the UI.
49+
* **Multi-Cluster Management** – Monitor and manage all your Kafka clusters in one unified interface.
50+
* **Metrics Dashboard** – Track key Kafka metrics in real time with a streamlined, lightweight dashboard.
51+
* **Kafka Brokers Overview** – Inspect brokers, including partition assignments and controller status.
52+
* **Consumer Group Details** – Analyze parked offsets per partition, and monitor both combined and partition-specific lag.
53+
* **Message Browser** – Explore messages in JSON, plain text, or Avro encoding formats. Live view is supported, enriched with user-defined CEL message filters.
54+
* **Dynamic Topic Management** – Create and configure new topics with flexible, real-time settings.
55+
* **Pluggable Authentication** – Secure your UI using OAuth 2.0 (GitHub, GitLab, Google), LDAP, or basic authentication.
56+
* **Cloud IAM Support** – Integrate with **GCP IAM**, **Azure IAM**, and **AWS IAM** for cloud-native identity and access management.
57+
* **Managed Kafka Service Support** – Full support for **Azure EventHub**, **Google Cloud Managed Service for Apache Kafka**, and **AWS Managed Streaming for Apache Kafka (MSK)**—both server-based and serverless.
58+
* **Custom SerDe Plugin Support** – Use built-in serializers/deserializers like AWS Glue and Smile, or create your own custom plugins.
59+
* **Role-Based Access Control**[Manage granular UI permissions](https://ui.docs.kafbat.io/configuration/rbac-role-based-access-control) with RBAC.
60+
* **Data Masking**[Obfuscate sensitive data](https://ui.docs.kafbat.io/configuration/data-masking) in topic messages to enhance privacy and compliance.
61+
* **MCP Server** - [Model Context Protocol](https://ui.docs.kafbat.io/faq/mcp) Server
62+
5763

5864
## Feature overview
5965

api/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# The tag is ignored when a sha is included but the reason to add it are:
22
# 1. Self Documentation: It is difficult to find out what the expected tag is given a sha alone
33
# 2. Helps dependabot during discovery of upgrades
4-
FROM azul/zulu-openjdk-alpine:21.0.6-jre-headless@sha256:75c5cc1ca1429513b56e9cbe3121bce86476cdec18b5b74b6842ab0af4b5a57f
4+
FROM azul/zulu-openjdk-alpine:21.0.8-jre-headless@sha256:9c7b4b7850bd4cdd78f91b369accc5b55beffa9a073b9a2bb94caa42606b9444
55

66
RUN apk add --no-cache \
77
# snappy codec

api/build.gradle

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ dependencies {
2525
implementation libs.spring.starter.oauth2.client
2626
implementation libs.spring.security.oauth2.resource.server
2727
implementation libs.spring.boot.actuator
28+
2829
compileOnly libs.spring.boot.devtools
2930

3031
implementation libs.spring.security.ldap
@@ -33,6 +34,7 @@ dependencies {
3334

3435
implementation libs.apache.avro
3536
implementation libs.apache.commons
37+
implementation libs.apache.commons.text
3638
implementation libs.apache.commons.pool2
3739
implementation libs.apache.datasketches
3840

@@ -48,6 +50,7 @@ dependencies {
4850

4951
implementation libs.jackson.databind.nullable
5052
implementation libs.cel
53+
implementation libs.caffeine
5154
antlr libs.antlr
5255
implementation libs.antlr.runtime
5356

@@ -66,6 +69,7 @@ dependencies {
6669
implementation libs.apache.commons.compress
6770
implementation libs.okhttp3.logging.intercepter
6871
implementation libs.reactor.netty.http
72+
implementation libs.netty.codec.http2
6973
// CVE Fixes End
7074

7175
implementation libs.modelcontextprotocol.spring.webflux
@@ -79,6 +83,13 @@ dependencies {
7983
because("CVE Fix: It is excluded above because of a vulnerability")
8084
}
8185

86+
implementation libs.prometheus.metrics.core
87+
implementation libs.prometheus.metrics.textformats
88+
implementation (libs.prometheus.metrics.exporter.pushgateway) {
89+
exclude group: 'com.google.protobuf', module: 'protobuf-java' because("PushGW lib pulls protobuf-java 4.x, which is incompatible with protobuf-java 3.x used by various dependencies of this project.")
90+
}
91+
implementation libs.snappy
92+
8293
// Annotation processors
8394
implementation libs.lombok
8495
implementation libs.mapstruct
@@ -105,11 +116,11 @@ dependencies {
105116

106117
testImplementation libs.okhttp3
107118
testImplementation libs.okhttp3.mockwebserver
119+
testImplementation libs.prometheus.metrics.core
108120
}
109121

110122
generateGrammarSource {
111123
maxHeapSize = "64m"
112-
arguments += ["-package", "ksql"]
113124
}
114125

115126
tasks.withType(JavaCompile) {
@@ -131,6 +142,7 @@ sourceSets {
131142

132143
tasks.withType(Checkstyle).configureEach {
133144
exclude '**/ksql/**'
145+
exclude '**/promql/**'
134146
}
135147

136148
checkstyle {

api/src/main/antlr/ksql/KsqlGrammar.g4

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
grammar KsqlGrammar;
22

3+
@header {package ksql;}
4+
5+
36
tokens {
47
DELIMITER
58
}

0 commit comments

Comments
 (0)