kaskade is a terminal user interface for kafka
Project description
kaskade
is a tui (terminal user interface) for kafka. kaskade
is built
on textual tui framework and rich lib.
NOTE: This project is currently a work in progress, but usable by early adopters. textual is also a work in progress project.
Installation and Usage
Install with pip:
pip install kaskade
pip
will installkaskade
andkskd
aliases.
Upgrade with pip:
pip install --upgrade kaskade
Help:
kaskade --help
Version:
kaskade --version
Run without config file (it'll take any of kaskade.yml
, kaskade.yaml
, config.yml
, config.yaml
):
kaskade
Run with config file:
kaskade my-file.yml
Running with Docker
Using docker (remember to set a network
and volume
):
docker run --rm -it --network kafka-sandbox_network \
--volume $(pwd)/config.yml:/kaskade/config.yml \
sauljabin/kaskade:latest
Aliases:
alias kaskade='docker run --rm -it --network kafka-sandbox_network \
--volume $(pwd):/kaskade \
sauljabin/kaskade:latest'
alias kskd=kaskade
These aliases will mount the current directory as a volume.
Configuration
A default yaml configuration file name can be either kaskade.yml
, kaskade.yaml
, config.yml
of config.yaml
. It supports all the configuration
on kafka consumer configuration page.
Simple connection example:
kafka:
bootstrap.servers: kafka1:9092,kafka2:9092,kafka3:9092
SSL encryption example:
kafka:
bootstrap.servers: kafka:9092
security.protocol: SSL
ssl.truststore.location: {{path}}/truststore.jks
ssl.truststore.password: {{password}}
SSL auth example:
kafka:
bootstrap.servers: kafka:9092
security.protocol: SSL
ssl.truststore.location: {{path}}/truststore.jks
ssl.truststore.password: {{password}}
ssl.keystore.location: {{path}}/keystore.jks
ssl.keystore.password: {{password}}
ssl.key.password: {{password}}
Screenshots
Alternatives
To Do
- Paginated table
- Consumed messages table
- Consumer groups table
- Interactive search and filters
- Pop up dialog
- Tab widget
Development
Installing poetry:
pip install poetry
Installing development dependencies:
poetry install
Build (it'll create the dist
folder):
poetry build
Scripts
Running unit tests:
poetry run python -m scripts.tests
Running multi version tests (3.7
, 3.8
, 3.9
):
poetry run python -m scripts.multi-version-tests
Make sure you have
python3.7
,python3.8
,python3.9
aliases installed.
Applying code styles:
poetry run python -m scripts.styles
Running code analysis:
poetry run python -m scripts.analyze
Running code coverage:
poetry run python -m scripts.tests-coverage
Generate readme banner:
poetry run python -m scripts.banner
Running kaskade using poetry
:
poetry run kaskade
Docker
Build docker:
poetry build
docker build -t sauljabin/kaskade:latest -f ./docker/Dockerfile .
Run with docker:
docker run --rm -it --network kafka-sandbox_network \
--volume $(pwd)/config.yml:/kaskade/config.yml \
sauljabin/kaskade:latest
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.