kaskade is a tui (text user interface) for kafka. 🚀 This project is powered by textual and rich!.
For a local kafka environment go to https://github.com/sauljabin/kafka-docker.
🚧 This project is currently a work in progress, but usable by early adopters.
Table of Contents
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
Information, it shows app information and some config examples:
kaskade --info
Run without config file (it'll take any of kaskade.yml
, kaskade.yaml
, config.yml
or config.yaml
):
kaskade
Run with config file:
kaskade my-config.yml
Running with Docker
Using docker (remember to set a network
and volume
):
docker run --rm -it --network kafka \
--volume $(pwd):/kaskade \
sauljabin/kaskade:latest
Aliases:
alias kaskade='docker run --rm -it --network kafka \
--volume $(pwd):/kaskade \
sauljabin/kaskade:latest'
alias kskd=kaskade
These aliases will mount the current directory as a volume.
Configuration
A yaml configuration file (check Installation and Usage section for more information).
Kafka
Simple connection example:
kafka:
bootstrap.servers: localhost:9092
SSL encryption example:
kafka:
bootstrap.servers: localhost:9092
security.protocol: SSL
For more information about SSL encryption and SSL authentication go to confluent-kafka and librdkafka.
Support for env variables (example BOOTSTRAP_SERVERS
):
kafka:
bootstrap.servers: ${BOOTSTRAP_SERVERS}
Kaskade
Next settings are optional:
kaskade:
debug: off # default off
refresh: on # enable auto-refresh default on
refresh-rate: 5 # auto-refresh rate default 5 secs
debug
enabled will generate logs into a specific log file, executekaskade --info
to get the log path.
Screenshots
Alternatives
Development
Python supported versions:
Installing poetry:
pip install poetry
Installing development dependencies:
poetry install
Installing pre-commit hooks:
poetry run pre-commit install
Running kaskade:
poetry run kaskade
Scripts
Running unit tests:
poetry run python -m scripts.tests
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
Running pre-commit hooks:
poetry run python -m scripts.pre-commit
Generate readme banner:
poetry run python -m scripts.banner
Docker
Build docker:
poetry run python -m scripts.docker-build
Image tag
sauljabin/kaskade:latest
.
Run with docker (create a config.yml
file):
docker run --rm -it --network kafka \
--volume $(pwd):/kaskade \
sauljabin/kaskade:latest
Bumping Version
Help:
poetry run python -m scripts.release --help
More info at https://python-poetry.org/docs/cli/#version and https://semver.org/.
Upgrade (major.minor.patch
):
poetry run python -m scripts.release patch