kafka client
kafka client
The kafka client binding receives inbound application streams and encodes each as a network stream via kafka
request-response protocol.
kafka_client:
type: kafka
kind: client
options:
servers:
- ${{env.KAFKA_BOOTSTRAP_SERVER}}
sasl:
mechanism: scram-sha-256
username: ${{env.SASL_USERNAME}}
password: ${{env.SASL_PASSWORD}}
Configuration (* required)
options
object
The client
specific options.
options:
servers:
- kafka:9092
sasl:
mechanism: plain
username: my_username
password: my_password
options.servers
array
ofstring
Bootstrap servers to use when connecting to kafka
cluster.
options.sasl
object
SASL credentials to use when connecting to kafka
brokers.
sasl.mechanism
enum
[plain
,scram-sha-1
,scram-sha-256
,scram-sha-512
]
Supports plain
and scram
mechanisms.
sasl.mechanism: plain
const
Configure credentials for the plain
sasl mechanism.
sasl.username*
string
SASL username.
sasl.password*
string
SASL password.
sasl.mechanism: scram-sha-1
const
Configure credentials for the scram-sha-1
sasl mechanism.
sasl.username*
string
SASL username.
sasl.password*
string
SASL password.
sasl.mechanism: scram-sha-256
const
Configure credentials for the scram-sha-256
sasl mechanism.
sasl.username*
string
SASL username.
sasl.password*
string
SASL password.
sasl.mechanism: scram-sha-512
const
Configure credentials for the scram-sha-512
sasl mechanism.
sasl.username*
string
SASL username.
sasl.password*
string
SASL password.
routes*
array
ofobject
Conditional kafka
specific routes.
routes[].guarded
object
as map of namedarray
ofstring
List of roles required by each named guard to authorize this route.
routes:
- guarded:
my_guard:
- read:items
routes[].when
array
ofobject
List of conditions (any match) to match this route. Read more: When a route matches
when[].topic
string
Topic name pattern.
routes[].exit
string
Next binding when following this route.
exit: echo_server
exit
string
Default exit binding when no conditional routes are viable.
exit: echo_server
telemetry
object
Defines the desired telemetry for the binding.
telemetry.metrics
array
Telemetry metrics to track
telemetry:
metrics:
- stream.*