Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork18
kaskade is a text user interface for kafka, which allows you to interact and consume topics from your terminal in style!
License
sauljabin/kaskade
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Kaskade is a text user interface (TUI) for Apache Kafka, built withTextualbyTextualize.
It includes features like:
- List topics, partitions, groups and group members.
- Topic information like lag, replicas and records count.
- Create, edit and delete topics.
- Filter topics by name.
- Json, string, integer, long, float, boolean and double deserialization.
- Filter by key, value, header and/or partition.
- Schema Registry support for avro and json.
- Protobuf deserialization support without Schema Registry.
- Avro deserialization without Schema Registry.
Kaskade does not include:
- Schema Registry for protobuf.
- Runtime auto-refresh.
![]() | ![]() |
![]() | ![]() |
brew install kaskade
pipx install kaskade
kaskade admin -b my-kafka:9092
kaskade consumer -b my-kafka:9092 -t my-topic
kaskade admin -b my-kafka:9092,my-kafka:9093
kaskade consumer -b my-kafka:9092 -t my-json-topic -k json -v json
Supported deserializers
[bytes, boolean, string, long, integer, double, float, json, avro, protobuf, registry]
kaskade consumer -b my-kafka:9092 -t my-topic --from-beginning
kaskade consumer -b my-kafka:9092 -t my-avro-topic \ -k registry -v registry \ --registry url=http://my-schema-registry:8081
For more information about Schema Registry configurations goto:Confluent Schema Registry client.
kaskade consumer -b my-kafka:9092 -t my-avro-topic \ -k registry -v registry \ --registry url=http://my-apicurio-registry:8081/apis/ccompat/v7
For more about apicurio go to:Apicurio registry.
kaskade admin -b my-kafka:9092 -c security.protocol=SSL
For more information about SSL encryption and SSL authentication goto:Configure librdkafka client.
kaskade admin -b${BOOTSTRAP_SERVERS} \ -c security.protocol=SASL_SSL \ -c sasl.mechanism=PLAIN \ -c sasl.username=${CLUSTER_API_KEY} \ -c sasl.password=${CLUSTER_API_SECRET}
kaskade consumer -b${BOOTSTRAP_SERVERS} -t my-avro-topic \ -k string -v registry \ -c security.protocol=SASL_SSL \ -c sasl.mechanism=PLAIN \ -c sasl.username=${CLUSTER_API_KEY} \ -c sasl.password=${CLUSTER_API_SECRET} \ --registry url=${SCHEMA_REGISTRY_URL} \ --registry basic.auth.user.info=${SR_API_KEY}:${SR_API_SECRET}
More about confluent cloud configurationat:Kafka client quick start for Confluent Cloud.
docker run --rm -it --network my-networtk sauljabin/kaskade:latest \ admin -b my-kafka:9092
docker run --rm -it --network my-networtk sauljabin/kaskade:latest \ consumer -b my-kafka:9092 -t my-topic
Consume usingmy-schema.avsc
file:
kaskade consumer -b my-kafka:9092 --from-beginning \ -k string -v avro \ -t my-avro-topic \ --avro value=my-schema.avsc
Installprotoc
command:
brew install protobuf
Generate aDescriptor Set file from your.proto
file:
protoc --include_imports \ --descriptor_set_out=my-descriptor.desc \ --proto_path=${PROTO_PATH} \${PROTO_PATH}/my-proto.proto
Consume usingmy-descriptor.desc
file:
kaskade consumer -b my-kafka:9092 --from-beginning \ -k string -v protobuf \ -t my-protobuf-topic \ --protobuf descriptor=my-descriptor.desc \ --protobuf value=mypackage.MyMessage
More about protobuf and
FileDescriptorSet
at:Protocol Buffers documentation.
For Q&A go toGitHub Discussions.
For development instructions seeDEVELOPMENT.md.
About
kaskade is a text user interface for kafka, which allows you to interact and consume topics from your terminal in style!
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Contributors3
Uh oh!
There was an error while loading.Please reload this page.