contrib/envoy/extensions/filters/network/kafka_broker/v3/kafka_broker.proto (proto)

extensions.filters.network.kafka_broker.v3.KafkaBroker

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

Kafka Broker configuration overview.

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:

{
  "stat_prefix": ...,
  "force_response_rewrite": ...,
  "id_based_broker_address_rewrite_spec": {...},
  "api_keys_allowed": [],
  "api_keys_denied": []
}
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.

api_keys_allowed

(repeated uint32) Optional list of allowed Kafka API keys. Only requests with provided API keys will be routed, otherwise the connection will be closed. No effect if empty.

api_keys_denied

(repeated uint32) Optional list of denied Kafka API keys. Requests with API keys matching this list will have the connection closed. No effect if empty.

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.