Skip to content

TomPax/strimzi-kafka-cli

Repository files navigation

Build Deploy PyPI Downloads License

strimzi cli

Strimzi Kafka CLI

Strimzi Kafka CLI is a CLI that helps traditional Apache Kafka users -both developers and administrators- to easily adapt Strimzi, a Kubernetes operator for Apache Kafka.

The main intention is to ramp up Apache Kafka with Strimzi usage by creating a similar CLI experience with traditional Apache Kafka tools.

kfk command stands for the usual kafka-* prefix of the Apache Kafka runnable files which are located in bin directory. There are options provided like topics, console-consumer, etc. which also mostly stand for the rest of the runnable file names like kafka-topic.sh.

However, because of the nature of Strimzi and its capabilities, there are also unusual options like clusters which is used for cluster configuration or users which is used for user management and configuration.

Following is the high-level output of the Strimzi Kafka CLI:

Usage: kfk [OPTIONS] COMMAND [ARGS]...

  Strimzi Kafka CLI

Options:
  --version  Show the version and exit.
  --help     Show this message and exit.

Commands:
  acls              Manages ACLs on Kafka.
  clusters          Creates, alters, deletes, describes Kafka cluster(s).
  configs           Adds/Removes entity config for a topic, client, user or...
  connect           Creates, alters, deletes, describes Kafka connect...
  console-consumer  Reads data from Kafka topics and outputs it to standard...
  console-producer  Reads data from standard input and publish it to Kafka.
  env               Prints the environment variable values for Strimzi Kafka CLI
  operator          Installs/Uninstalls Strimzi Kafka Operator
  topics            Creates, alters, deletes, describes Kafka topic(s).
  users             Creates, alters, deletes, describes Kafka users(s).

Please take a look at the relevant article Strimzi Kafka CLI: Managing Strimzi in a Kafka Native Way for more details.

Installation

Strimzi Kafka CLI can be installed via pip (python package installer).

sudo pip install strimzi-kafka-cli

Project requires: Python >=3.6

Examples

Dependencies

Python Dependencies

Please see requirements.txt file.

External Dependencies

kubectl and Strimzi resources are the tools that Strimzi Kafka CLI uses. These dependencies are automatically downloaded when the first kfk command is run. You can always check the dependency versions of your CLI with the following command:

kfk version

If you want to change the kubectl and Strimzi resources folder, you can simply change their version with the help of some environment veriables in order to let Strimzi Kafka CLI download the version you want, or change the PATH of any if you want to use a custom kubectl or Strimzi binary folder. Current versions are recommended, so use these environment variables at your own risk.

STRIMZI_KAFKA_CLI_BASE_PATH: Set this if you want to have a custom Strimzi Kafka CLI folder. It is set in ~/.strimzi-kafka-cli as default.

STRIMZI_KAFKA_CLI_STRIMZI_VERSION: Set this if you want to use a different Strimzi version.

STRIMZI_KAFKA_CLI_STRIMZI_PATH: Set this if you want to use a custom Strimzi/AMQ Streams.

STRIMZI_KAFKA_CLI_KUBECTL_VERSION Set this if you want to use a different kubectl version.

STRIMZI_KAFKA_CLI_KUBECTL_PATH: Set this if you want to use a custom kubectl.

About

Command Line Interface for Strimzi Kafka Operator

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • Python 99.8%
  • Other 0.2%