Skip to content

Commit 022c661

Browse files
Haaroleangitbook-bot
authored andcommitted
GITBOOK-18: Wizard & ODD docs
1 parent 27357d6 commit 022c661

File tree

8 files changed

+80
-3
lines changed

8 files changed

+80
-3
lines changed

.gitbook/assets/image (1).png

177 KB
Loading

.gitbook/assets/image.png

127 KB
Loading

SUMMARY.md

+4-2
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323

2424
## 👷♂ Configuration
2525

26+
* [Configuration wizard](configuration/configuration-wizard.md)
2627
* [Permissions](configuration/permissions/README.md)
2728
* [Required Kafka ACLs](configuration/configuration/required-acls.md)
2829
* [MSK (+Serverless) Setup](configuration/permissions/msk-+serverless-setup.md)
@@ -36,8 +37,9 @@
3637
* [SASL\_SCRAM](configuration/authentication/sasl\_scram.md)
3738
* [RBAC (Role based access control)](configuration/rbac-role-based-access-control.md)
3839
* [Data masking](configuration/data-masking.md)
39-
* [Serialization / SerDe](configuration/serialization-serde.md)
40-
* [Protobuf setup](configuration/protobuf-setup.md)
40+
* [Serialization / SerDe](configuration/serialization-serde/README.md)
41+
* [Protobuf setup](configuration/serialization-serde/protobuf-setup.md)
42+
* [OpenDataDiscovery Integration](configuration/opendatadiscovery-integration.md)
4143

4244
## ❓ FAQ
4345

configuration/configuration-wizard.md

+53
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# Configuration wizard
2+
3+
## Dynamic application configuration
4+
5+
![](../.gitbook/assets/image.png)![](<../.gitbook/assets/image (1).png>)
6+
7+
By default, kafka-ui does not allow to change of its configuration in runtime. When the application is started it reads configuration from system env, config files (ex. application.yaml), and JVM arguments (set by `-D`). Once the configuration was read it was treated as immutable and won't be refreshed even if the config source (ex. file) was changed.
8+
9+
Since version 0.6 we added an ability to change cluster configs in runtime. This option is disabled by default and should be implicitly enabled. To enable it, you should set `DYNAMIC_CONFIG_ENABLED` env property to `true` or add `dynamic.config.enabled: true` property to your yaml config file.
10+
11+
Sample docker compose configuration:
12+
13+
```
14+
services:
15+
kafka-ui:
16+
container_name: kafka-ui
17+
image: provectuslabs/kafka-ui:latest
18+
ports:
19+
- 8080:8080
20+
depends_on:
21+
- kafka0
22+
environment:
23+
DYNAMIC_CONFIG_ENABLED: 'true'
24+
KAFKA_CLUSTERS_0_NAME: wizard_test
25+
KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka0:29092
26+
27+
...
28+
```
29+
30+
You can even omit all vars other than `DYNAMIC_CONFIG_ENABLED` to start the application with empty configs and setup it up after startup.
31+
32+
When the dynamic config feature is enabled you will see additional buttons that will take you to "Wizard" for editing existing cluster configuration or adding new clusters:
33+
34+
&#x20;
35+
36+
#### Dynamic config files
37+
38+
Kafka-ui is a stateless application by its nature, so, when you edit configuration during runtime, it will store configuration additions on the container's filesystem (in `dynamic_config.yaml` file). Dynamic config file will be overridden on each configuration submission.
39+
40+
During the configuration process, you can also upload configuration-related files (like truststore and keystores). They will be stored in `etc/kafkaui/uploads` a folder with a unique timestamp suffix to prevent name collision. In the wizard, you can also use files that were mounted to the container's filesystem, without uploading them directly.
41+
42+
**Note**, that if the container is recreated, your edited (and uploaded) files won't be present and the app will be started with static configuration only. If you want to be able to keep the configuration created by wizard, you have to mount/copy the same files into newly created kafka-ui containers (whole `/etc/kafkaui/` folder, by default).
43+
44+
Properties, specified where dynamic config files will be persisted:
45+
46+
| Env variable name | Yaml property | Default | Description |
47+
| ---------------------------- | ---------------------------- | ---------------------------------- | ---------------------------------------- |
48+
| `DYNAMIC_CONFIG_PATH` | `dynamic.config.path` | `/etc/kafkaui/dynamic_config.yaml` | Path to dynamic config file |
49+
| `CONFIG_RELATED_UPLOADS_DIR` | `config.related.uploads.dir` | `/etc/kafkaui/uploads` | Path where uploaded files will be placed |
50+
51+
#### Implementation notes:
52+
53+
Currently, the new configuration submission leads to a full application restart. So, if your kafka-ui app is starting slow (not a usual case, but may happen when you have a slow connection to kafka clusters) you may notice UI inaccessibility during restart time.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# OpenDataDiscovery Integration
2+
3+
Kafka-ui has integration with the [OpenDataDiscovery platform](https://opendatadiscovery.org/) (ODD).
4+
5+
ODD Platform allows you to monitor and navigate kafka data streams and see how they embed into your data platform.
6+
7+
This integration allows you to use kafka-ui as an ODD "Collector" for kafka clusters.
8+
9+
Currently, kafka-ui exports:
10+
11+
* kafka topics as ODD Datasets with topic's metadata, configs, and schemas
12+
* kafka-connect's connectors as ODD Transformers, including input & output topics and additional connector configs
13+
14+
Configuration properties:
15+
16+
| Env variable name | Yaml property | Description |
17+
| ----------------------------- | --------------------------- | ----------------------------------------------------------------------------------------------- |
18+
| INTEGATION\_ODD\_URL | integration.odd.ulr | ODD platform instance URL. Required. |
19+
| INTEGRATION\_ODD\_TOKEN | integration.odd.token | Collector's token generated in ODD. Required. |
20+
| INTEGRATION\_ODD\_TOPICSREGEX | integration.odd.topicsRegex | RegEx for topic names that should be exported to ODD. Optional, all topics exported by default. |

overview/features.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# Features
22

3+
* **Configuration wizard** — configure your Kafka clusters right in the UI
34
* **Multi-Cluster Management** — monitor and manage all your clusters in one place
45
* **Performance Monitoring with Metrics Dashboard** — track key Kafka metrics with a lightweight dashboard
56
* **View Kafka Brokers** — view topic and partition assignments, controller status
@@ -9,5 +10,6 @@
910
* **Dynamic Topic Configuration** — create and configure new topics with dynamic configuration
1011
* **Configurable Authentification** — secure your installation with optional Github/Gitlab/Google OAuth 2.0
1112
* **Custom serialization/deserialization plugins** - use a ready-to-go serde for your data like AWS Glue or Smile, or code your own!
12-
* **Role based access control** - [manage permissions](https://github.com/provectus/kafka-ui/wiki/RBAC-\(role-based-access-control\)) to access the UI with granular precision
13+
* **Role-based access control** - [manage permissions](https://github.com/provectus/kafka-ui/wiki/RBAC-\(role-based-access-control\)) to access the UI with granular precision
1314
* **Data masking** - [obfuscate](https://github.com/provectus/kafka-ui/blob/master/documentation/guides/DataMasking.md) sensitive data in topic messages
15+
* **ODD Integration** — Explore and monitor kafka related metadata changes in OpenDataDiscovery platform

0 commit comments

Comments
 (0)