kaskade is a terminal user interface for kafka
Project description
kaskade is a tui (text user interface) for kafka. :rocket: This project is powered by textual and rich!.
For a local kafka environment go to https://github.com/sauljabin/kafka-docker.
:construction: 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
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-file.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 default yaml configuration file name can be either kaskade.yml
, kaskade.yaml
, config.yml
or config.yaml
. It supports all the configuration
on kafka consumer configuration page.
Simple connection example:
kafka:
bootstrap.servers: localhost:9093
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}}
Support for env variables:
kafka:
bootstrap.servers: ${BOOTSTRAP_SERVERS}
Screenshots
Alternatives
To Do
- Group members table
- Group partitions table
- Messages table
- Schema registry support
- Interactive search
- Produce messages
- Create topic
- Increment test coverage
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
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.