Chapter 122. KafkaBridgeSpec schema reference
Chapter 122. KafkaBridgeSpec schema reference Used in: KafkaBridge Full list of KafkaBridgeSpec schema properties Configures a Kafka Bridge cluster. Configuration options relate to: Kafka cluster bootstrap address Security (encryption, authentication, and authorization) Consumer configuration Producer configuration HTTP configuration 122.1. logging Kafka Bridge has its own configurable loggers: rootLogger.level logger. <operation-id> You can replace <operation-id> in the logger. <operation-id> logger to set log levels for specific operations: createConsumer deleteConsumer subscribe unsubscribe poll assign commit send sendToPartition seekToBeginning seekToEnd seek healthy ready openapi Each operation is defined according OpenAPI specification, and has a corresponding API endpoint through which the bridge receives requests from HTTP clients. You can change the log level on each endpoint to create fine-grained logging information about the incoming and outgoing HTTP requests. Each logger has to be configured assigning it a name as http.openapi.operation. <operation-id> . For example, configuring the logging level for the send operation logger means defining the following: Kafka Bridge uses the Apache log4j2 logger implementation. Loggers are defined in the log4j2.properties file, which has the following default configuration for healthy and ready endpoints: The log level of all other operations is set to INFO by default. Use the logging property to configure loggers and logger levels. You can set the log levels by specifying the logger and level directly (inline) or use a custom (external) ConfigMap. If a ConfigMap is used, you set logging.valueFrom.configMapKeyRef.name property to the name of the ConfigMap containing the external logging configuration. The logging.valueFrom.configMapKeyRef.name and logging.valueFrom.configMapKeyRef.key properties are mandatory. Default logging is used if the name or key is not set. Inside the ConfigMap, the logging configuration is described using log4j.properties . For more information about log levels, see Apache logging services . Here we see examples of inline and external logging. Inline logging apiVersion: kafka.strimzi.io/v1beta2 kind: KafkaBridge spec: # ... logging: type: inline loggers: rootLogger.level: INFO # enabling DEBUG just for send operation logger.send.name: "http.openapi.operation.send" logger.send.level: DEBUG # ... External logging apiVersion: kafka.strimzi.io/v1beta2 kind: KafkaBridge spec: # ... logging: type: external valueFrom: configMapKeyRef: name: customConfigMap key: bridge-logj42.properties # ... Any available loggers that are not configured have their level set to OFF . If the Kafka Bridge was deployed using the Cluster Operator, changes to Kafka Bridge logging levels are applied dynamically. If you use external logging, a rolling update is triggered when logging appenders are changed. Garbage collector (GC) Garbage collector logging can also be enabled (or disabled) using the jvmOptions property . 122.2. KafkaBridgeSpec schema properties Property Description replicas The number of pods in the Deployment . Defaults to 1 . integer image The docker image for the pods. string bootstrapServers A list of host:port pairs for establishing the initial connection to the Kafka cluster. string tls TLS configuration for connecting Kafka Bridge to the cluster. ClientTls authentication Authentication configuration for connecting to the cluster. The type depends on the value of the authentication.type property within the given object, which must be one of [tls, scram-sha-256, scram-sha-512, plain, oauth]. KafkaClientAuthenticationTls , KafkaClientAuthenticationScramSha256 , KafkaClientAuthenticationScramSha512 , KafkaClientAuthenticationPlain , KafkaClientAuthenticationOAuth http The HTTP related configuration. KafkaBridgeHttpConfig adminClient Kafka AdminClient related configuration. KafkaBridgeAdminClientSpec consumer Kafka consumer related configuration. KafkaBridgeConsumerSpec producer Kafka producer related configuration. KafkaBridgeProducerSpec resources CPU and memory resources to reserve. For more information, see the external documentation for core/v1 resourcerequirements . ResourceRequirements jvmOptions Currently not supported JVM Options for pods. JvmOptions logging Logging configuration for Kafka Bridge. The type depends on the value of the logging.type property within the given object, which must be one of [inline, external]. InlineLogging , ExternalLogging clientRackInitImage The image of the init container used for initializing the client.rack . string rack Configuration of the node label which will be used as the client.rack consumer configuration. Rack enableMetrics Enable the metrics for the Kafka Bridge. Default is false. boolean livenessProbe Pod liveness checking. Probe readinessProbe Pod readiness checking. Probe template Template for Kafka Bridge resources. The template allows users to specify how a Deployment and Pod is generated. KafkaBridgeTemplate tracing The configuration of tracing in Kafka Bridge. The type depends on the value of the tracing.type property within the given object, which must be one of [jaeger, opentelemetry]. JaegerTracing , OpenTelemetryTracing
logger.send.name = http.openapi.operation.send logger.send.level = DEBUG logger.healthy.name = http.openapi.operation.healthy logger.healthy.level = WARN logger.ready.name = http.openapi.operation.ready logger.ready.level = WARN apiVersion: kafka.strimzi.io/v1beta2 kind: KafkaBridge spec: # logging: type: inline loggers: rootLogger.level: INFO # enabling DEBUG just for send operation logger.send.name: "http.openapi.operation.send" logger.send.level: DEBUG # apiVersion: kafka.strimzi.io/v1beta2 kind: KafkaBridge spec: # logging: type: external valueFrom: configMapKeyRef: name: customConfigMap key: bridge-logj42.properties #