Configure Topic Browse

This page outlines the configuration values for the Topic Browse deployed via Axual Governance Helm chart.

About Topic Browse

Topic Browse is a runtime server system that allows the Self-Service to browse a target Kafka topic. Topic Browse is based on Spring Boot 3.x

Topic Browse Configuration

Topic Browse requires very limited configuration to function, most of the Kafka configurations are sent at runtime.

For a complete list of configurations, please refer to Topic Browse Configuration.

Topic Browse Repository Configuration

Initially, you can override the registry, tag, and pullPolicy for the Topic Browse pod.

By default, these values come from the Axual Governance charts.

You can also override the imagePullSecrets; if not specify the Topic Browse pod will use the global.imagePullSecrets

values.yaml
topic-browse:

  image:
    registry: "registry.axual.io"
    pullPolicy: "Always"
    tag: "0.3.3"

  imagePullSecrets:
    - name: axualdockercred

Server Security Configuration

If needed, you can specify existing kubernetes secrets containing the PEM certificates to secure incoming connections with SSL.

Here is an example of how you can configure it.

values.yaml
topic-browse:

  env:
    - name: SPRING_SSL_BUNDLE_PEM_TOPIC-BROWSE_KEYSTORE_CERTIFICATE
      valueFrom:
        secretKeyRef:
          # key identifying the server-certificate within the k8s-secret
          key: <server-certificate-name>
          name: <k8s-secret-name>
    - name: SPRING_SSL_BUNDLE_PEM_TOPIC-BROWSE_KEYSTORE_PRIVATE_KEY
      valueFrom:
        secretKeyRef:
          # key identifying the server-key within the k8s-secret
          key: <server-key-name>
          name: <k8s-secret-name>

  config:
    server:
      ssl:
        enabled: true
        # name referring to the bundle-pem
        bundle: "topic-browse"

Application Configuration

Topic Browse is a Spring Boot application. Spring Boot applications can be configured with application.yml files. What is present under config in the yml file, gets injected in a ConfigMap and mounted as an application.yml file.

values.yaml
topic-browse:
  config: {}

Browse and Consumer Configuration

Topic Browse provides specific configuration options for browsing behavior and Kafka Consumer settings.

Browse Configuration

Configure limits and behavior for topic browsing operations:

values.yaml
topic-browse:
  config:
    browse-config:
      max-message-bytes: 104857600  # Maximum size in bytes for messages to retrieve (100MB)
      max-message-count: 1000       # Maximum number of messages to retrieve per browse request

Consumer Configuration

Configure Kafka Consumer behavior for Topic browsing:

values.yaml
topic-browse:
  config:
    consumer-config:
      partitions-per-consumer: 5      # Maximum number of partitions assigned per consumer instance
      poll-timeout-millis: 500        # Polling timeout in milliseconds for Kafka consumer
      request-timeout-seconds: 60     # Request timeout in seconds for Kafka operations