Kafka Broker (proto)

This extension has the qualified name envoy.filters.network.kafka_broker

Note

This extension is only available in contrib images.

Note

This extension is work-in-progress. Functionality is incomplete and it is not intended for production use.

This extension is not hardened and should only be used in deployments where both the downstream and upstream are trusted.

Tip

This extension extends and can be used with the following extension category:

Kafka Broker configuration overview.

extensions.filters.network.kafka_broker.v3.KafkaBroker

[extensions.filters.network.kafka_broker.v3.KafkaBroker proto]

{
  "stat_prefix": ...,
  "force_response_rewrite": ...,
  "id_based_broker_address_rewrite_spec": {...}
}
stat_prefix

(string, REQUIRED) The prefix to use when emitting statistics.

force_response_rewrite

(bool) Set to true if broker filter should attempt to serialize the received responses from the upstream broker instead of passing received bytes as is. Disabled by default.

id_based_broker_address_rewrite_spec

(extensions.filters.network.kafka_broker.v3.IdBasedBrokerRewriteSpec) Broker address rewrite rules that match by broker ID.

Optional broker address rewrite specification. Allows the broker filter to rewrite Kafka responses so that all connections established by the Kafka clients point to Envoy. This allows Kafka cluster not to configure its ‘advertised.listeners’ property (as the necessary re-pointing will be done by this filter). This collection of rules should cover all brokers in the cluster that is being proxied, otherwise some nodes’ addresses might leak to the downstream clients.

extensions.filters.network.kafka_broker.v3.IdBasedBrokerRewriteSpec

[extensions.filters.network.kafka_broker.v3.IdBasedBrokerRewriteSpec proto]

Collection of rules matching by broker ID.

{
  "rules": []
}
rules

(repeated extensions.filters.network.kafka_broker.v3.IdBasedBrokerRewriteRule)

extensions.filters.network.kafka_broker.v3.IdBasedBrokerRewriteRule

[extensions.filters.network.kafka_broker.v3.IdBasedBrokerRewriteRule proto]

Defines a rule to rewrite broker address data.

{
  "id": ...,
  "host": ...,
  "port": ...
}
id

(uint32) Broker ID to match.

host

(string, REQUIRED) The host value to use (resembling the host part of Kafka’s advertised.listeners). The value should point to the Envoy (not Kafka) listener, so that all client traffic goes through Envoy.

port

(uint32) The port value to use (resembling the port part of Kafka’s advertised.listeners). The value should point to the Envoy (not Kafka) listener, so that all client traffic goes through Envoy.