Git Product home page Git Product logo

strimzi-kafka-cli's Introduction

Build Deploy PyPI Downloads License Strimzi AMQ Streams

Strimzi CLI logo

Strimzi Kafka CLI

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

The main intention is to ramp up Strimzi usage by creating a similar CLI experience with the traditional Apache Kafka tools that mostly starts with kafka-* prefix under the bin directory in an ordinary Kafka package.

Strimzi Kafka CLI uses the kfk command as an abbreviation for "Kafka For Kubernetes" or simply "k a f k a" which reminds of the kafka-* prefix of the ordinary Kafka script file names.

While having similar set of commands or options for some of the common objects, Strimzi Kafka CLI has some extra capabilities for managing or configuring Strimzi related resources.

Following are the commands of the current version of Strimzi Kafka CLI, that are used for different purposes:

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

Using Python Package Installer

pip install strimzi-kafka-cli --user

Or to install Strimzi Kafka CLI in an isolated environment, you can simply use pipx:

pipx install strimzi-kafka-cli

Using Homebrew

#Tap the homebrew repository first.
brew tap systemcraftsman/strimzi-kafka-cli

#Install Strimzi Kafka CLI
brew install strimzi-kafka-cli

Installing the CLI by using Homebrew already uses a virtual environment, so you don't have to worry about your main Python environment.

Project requires: Python >=3.8

Examples

Dependencies

Python Dependencies

Please see pyproject.toml 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

You can change where you want to locate the kubectl, Strimzi resources, or Strimzi CLI files/folders. You can use the following environment variables:

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

STRIMZI_KAFKA_CLI_STRIMZI_PATH: Set this if you want to use a custom Strimzi/AMQ Streams. We only recommend this when using AMQ Streams instead of Strimzi.

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

strimzi-kafka-cli's People

Contributors

mabulgu avatar onuralpszr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

strimzi-kafka-cli's Issues

"--list" is not recommended when no option is written

if there is a "--list" in the options, after just writing command the "--list" is not recommended. example:

$ kfk topics
Usage: kfk topics [OPTIONS]
Try 'kfk topics --help' for help.

Error: Missing option '--topic'.

implement kafka-configs for users

kafka-configs -> user -> (yaml>spec>quotas)
consumer_byte_rate
producer_byte_rate
request_percentage
-> (yaml>spec>authentication>type)
SCRAM-SHA-256
SCRAM-SHA-512

Write integration tests

Consider writing integrations tests with the help of testcontainers or katacoda or sth. R&D has to be made for this.

implement kafka-acls

Since acls run one way update (from strimzi to Kafka) and not vice versa, it should be NOT be implemented natively

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.