kaskade is a terminal user interface for kafka
Project description
Kaskade
Kaskade is a text user interface (TUI) for Apache Kafka, built with Textual by Textualize. 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 with avro.
- Protobuf deserialization support.
Screenshots
Installation
Install it with brew
:
brew install kaskade
Install it with pipx
:
pipx install kaskade
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-topic -k json -v json
Consuming from the beginning:
kaskade consumer -b my-kafka:9092 -t my-topic -x auto.offset.reset=earliest
Schema registry simple connection and avro deserialization:
kaskade consumer -b my-kafka:9092 \
-s url=http://my-schema-registry:8081 \
-t my-topic -k avro -v avro
For more information about Schema Registry configurations go to: Confluent Schema Registry client.
SSL encryption example:
kaskade admin -b my-kafka:9092 -x security.protocol=SSL
For more information about SSL encryption and SSL authentication go to: SSL support in librdkafka.
Confluent cloud admin and consumer:
kaskade admin -b ${BOOTSTRAP_SERVERS} \
-x security.protocol=SASL_SSL \
-x sasl.mechanism=PLAIN \
-x sasl.username=${CLUSTER_API_KEY} \
-x sasl.password=${CLUSTER_API_SECRET}
kaskade consumer -b ${BOOTSTRAP_SERVERS} \
-x security.protocol=SASL_SSL \
-x sasl.mechanism=PLAIN \
-x sasl.username=${CLUSTER_API_KEY} \
-x sasl.password=${CLUSTER_API_SECRET} \
-s url=${SCHEMA_REGISTRY_URL} \
-s basic.auth.user.info=${SR_API_KEY}:${SR_API_SECRET} \
-t my-topic \
-k string \
-v avro
More about confluent cloud configuration at: 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
Protobuf consumer:
Install protoc
command:
brew install protobuf
Generate a Descriptor 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 using my-descriptor.desc
file:
kaskade consumer -b my-kafka:9092 -x auto.offset.reset=earliest \
-k string -v protobuf \
-t my-protobuf-topic \
-p descriptor=my-descriptor.desc -p value=mypackage.MyMessage
More about protobuf and
FileDescriptorSet
at: Protocol Buffers Documentation.
Development
For development instructions see DEVELOPMENT.md.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file kaskade-2.3.4.tar.gz
.
File metadata
- Download URL: kaskade-2.3.4.tar.gz
- Upload date:
- Size: 20.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f2df4a3f5f6e82adb1f708a1ad0dac4b080a23b36458b1bc972b637f6d88f611 |
|
MD5 | 3e6eeda6ad3c1df3aea92146cbc8644a |
|
BLAKE2b-256 | 8fed33677f4c2199fd6dfa7206304de37b971342345a4713a96717629ed05760 |
Provenance
File details
Details for the file kaskade-2.3.4-py3-none-any.whl
.
File metadata
- Download URL: kaskade-2.3.4-py3-none-any.whl
- Upload date:
- Size: 24.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1e92bbdf74b695fc9d259e7f13b990734e87509b92c3b23fcd7d871cde9805d |
|
MD5 | 66e80c4a1ad1a01f1798ccc0fff7b8f8 |
|
BLAKE2b-256 | 9f5a968be278acf37a6f29415dd75dbece6454969d367277fb519f70339d5219 |