description |
---|
This page explains configuration file structure |
Let's start with that there are two possible ways to configure the app, they can interchange each other or even supplement each other.
There are two ways: YAML config & env. variables config. We strongly recommend using YAML in favor of env variables for the most part of the config. You can use env vars to override the default config on some different environments.
This tool can help you to translate your config back and forth from YAML to env vars.
We will mostly provide examples of configs in YAML format, but sometimes single properties might be written in form of env variables.
Rather than writing your config from a scratch, it would be more convenient to use one of the ready-to-go compose examples and adjust it to your needs.
Docker: docker run -it -p 8080:8080 -e spring.config.additional-location=/tmp/config.yml -v /tmp/kui/config.yml:/tmp/config.yml ghcr.io/kafbat/kafka-ui
Docker compose:
services:
kafbat-ui:
container_name: kafbat-ui
image: ghcr.io/kafbat/kafka-ui
environment:
KAFKA_CLUSTERS_0_NAME: local
# other properties, omitted
SPRING_CONFIG_ADDITIONAL-LOCATION: /config.yml
volumes:
- /tmp/config.yml:/config.yml
Jar: java -Dspring.config.additional-location=<path-to-application-local.yml> -jar <path-to-jar>.jar
kafka:
clusters:
-
name: local
bootstrapServers: localhost:29091
schemaRegistry: http://localhost:8085
schemaRegistryAuth:
username: username
password: password
# schemaNameTemplate: "%s-value"
metrics:
port: 9997
type: JMX
name
: cluster namebootstrapServers
: where to connectschemaRegistry
: schemaRegistry's addressschemaRegistryAuth.username
: schemaRegistry's basic authentication usernameschemaRegistryAuth.password
: schemaRegistry's basic authentication passwordschemaNameTemplate
: how keys are saved to Schema Registrymetrics.port
: open the JMX port of a brokermetrics.type
: Type of metrics, either JMX or PROMETHEUS. Defaulted to JMX.readOnly
: enable read-only mode
Configure as many clusters as you need by adding their configs below separated with -
.