Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

kaskade is a text user interface for kafka, which allows you to interact and consume topics from your terminal in style!

License

NotificationsYou must be signed in to change notification settings

sauljabin/kaskade

Repository files navigation

kaskade

GitHubdonateLibraries.io dependency status for latest releaseMIT LicensePypi VersionHomebrew VersionDocker VersionPlatformPython Versions

Kaskade

Kaskade is a text user interface (TUI) for Apache Kafka, built withTextualbyTextualize.

It includes features like:

Admin

  • List topics, partitions, groups and group members.
  • Topic information like lag, replicas and records count.
  • Create, edit and delete topics.
  • Filter topics by name.

Consumer

  • 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.

Limitations

Kaskade does not include:

  • Schema Registry for protobuf.
  • Runtime auto-refresh.

Screenshots

kaskadekaskade
kaskadekaskade

Installation

Install it withbrew:

brew install kaskade

brew installation.

Install it withpipx:

pipx install kaskade

pipx installation.

Running kaskade

Admin view:

kaskade admin -b my-kafka:9092

Consumer view:

kaskade consumer -b my-kafka:9092 -t my-topic

Configuration examples

Multiple bootstrap servers:

kaskade admin -b my-kafka:9092,my-kafka:9093

Consume and deserialize:

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]

Consuming from the beginning:

kaskade consumer -b my-kafka:9092 -t my-topic --from-beginning

Schema registry simple connection deserializer:

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.

Apicurio registry:

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.

SSL encryption example:

kaskade admin -b my-kafka:9092 -c security.protocol=SSL

For more information about SSL encryption and SSL authentication goto:Configure librdkafka client.

Confluent cloud admin and consumer:

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.

Running with docker:

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

Avro consumer:

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

Protobuf consumer:

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 andFileDescriptorSet at:Protocol Buffers documentation.

Questions

For Q&A go toGitHub Discussions.

Development

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

Stars

Watchers

Forks

Sponsor this project

 

[8]ページ先頭

©2009-2025 Movatter.jp