Kafka
services.kafka.enable
Whether to enable Apache Kafka.
Type: boolean
Default:
false
Example:
true
services.kafka.package
The apacheKafka package to use.
Type: package
Default:
pkgs.apacheKafka
services.kafka.configFiles.log4jProperties
Kafka log4j property configuration file path
Type: absolute path
Default:
"pkgs.writeText \"log4j.properties\" cfg.log4jProperties"
services.kafka.configFiles.serverProperties
Kafka server.properties configuration file path.
Defaults to the rendered settings
.
Type: absolute path
services.kafka.connect.enable
Whether to enable Kafka Connect.
Type: boolean
Default:
false
Example:
true
services.kafka.connect.initialConnectors
List of Kafka Connect connectors to set up initially
Type: list of (lazy attribute set of (null or boolean or signed integer or string or list of (boolean or signed integer or string)))
Default:
[ ]
services.kafka.connect.initialConnectors.*.config
Initial configuration for the connector
Type: attribute set
services.kafka.connect.initialConnectors.*.name
Name of the connector
Type: string
services.kafka.connect.settings
connect-standalone.properties
.
Note that .properties files contain mappings from string to string.
Keys with dots are NOT represented by nested attrs in these settings,
but instead as quoted strings (ie. settings."broker.id"
, NOT
settings.broker.id
).
Type: lazy attribute set of (null or boolean or signed integer or string or list of (boolean or signed integer or string))
Default:
{ }
services.kafka.connect.settings."bootstrap.servers"
A list of host/port pairs to use for establishing the initial connection to the Kafka cluster.
Type: list of string
Default:
services.kafka.connect.settings."key.converter"
The key converter to use for the connector.
Type: string
Default:
"org.apache.kafka.connect.json.JsonConverter"
services.kafka.connect.settings."key.converter.schemas.enable"
Whether the key converter should include schema information in the message.
Type: boolean
Default:
true
services.kafka.connect.settings.listeners
List of listeners for Kafka Connect (By default Kafka Connect listens on http://localhost:8083)
Type: null or (list of string)
Default:
null
Example:
services.kafka.connect.settings."offset.flush.interval.ms"
Interval at which to try committing offsets for tasks
Type: signed integer
Default:
10000
services.kafka.connect.settings."offset.storage.file.filename"
The file to store connector offsets in. By storing offsets on disk, a standalone process can be stopped and started on a single node and resume where it previously left off.
Type: string
Default:
"/home/runner/work/devenv/devenv/.devenv/state/kafka/connect/connect.offsets"
services.kafka.connect.settings."plugin.path"
The list should consist of top level directories that include any combination of: a) directories immediately containing jars with plugins and their dependencies b) uber-jars with plugins and their dependencies c) directories immediately containing the package directory structure of classes of plugins and their dependencies Note: symlinks will be followed to discover dependencies or plugins.
Type: null or (list of (string or absolute path))
Default:
null
services.kafka.connect.settings."value.converter"
The value converter to use for the connector.
Type: string
Default:
"org.apache.kafka.connect.json.JsonConverter"
services.kafka.connect.settings."value.converter.schemas.enable"
Whether the value converter should include schema information in the message.
Type: boolean
Default:
true
services.kafka.defaultMode
Which defaults to set for the mode Kafka should run in
kraft
(default): Run Kafka in KRaft mode, Which requires no extra configuration.zookeeper
: Run Kafka in Zookeeper mode, this requires more configuration.
Type: one of “zookeeper”, “kraft”
Default:
"kraft"
services.kafka.formatLogDirs
Whether to format log dirs in KRaft mode if all log dirs are unformatted, ie. they contain no meta.properties.
Type: boolean
Default:
true
services.kafka.formatLogDirsIgnoreFormatted
Whether to ignore already formatted log dirs when formatting log dirs, instead of failing. Useful when replacing or adding disks.
Type: boolean
Default:
true
services.kafka.jre
The JRE with which to run Kafka
Type: package
Default:
pkgs.apacheKafka.passthru.jre
services.kafka.jvmOptions
Extra command line options for the JVM running Kafka.
Type: list of string
Default:
[ ]
Example:
[
"-Djava.net.preferIPv4Stack=true"
"-Dcom.sun.management.jmxremote"
"-Dcom.sun.management.jmxremote.local.only=true"
]
services.kafka.log4jProperties
Kafka log4j property configuration.
Type: strings concatenated with “\n”
Default:
''
log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c)%n
''
services.kafka.settings
Kafka broker configuration
server.properties
.
Note that .properties files contain mappings from string to string.
Keys with dots are NOT represented by nested attrs in these settings,
but instead as quoted strings (ie. settings."broker.id"
, NOT
settings.broker.id
).
Type: lazy attribute set of (null or boolean or signed integer or string or list of (boolean or signed integer or string))
Default:
{ }
services.kafka.settings."broker.id"
Broker ID. -1 or null to auto-allocate in zookeeper mode.
Type: null or signed integer
Default:
null
services.kafka.settings.listeners
Kafka Listener List. See listeners. If you change this, you should also update the readiness probe.
Type: list of string
Default:
services.kafka.settings."log.dirs"
Log file directories.
Type: list of absolute path
Default:
[ "${config.devenv.state + "/kafka"}/logs" ]