strimzi-kafka-cli


Namestrimzi-kafka-cli JSON
Version 0.1.0a78 PyPI version JSON
download
home_pageNone
SummaryCommand Line Interface for Strimzi Kafka Operator
upload_time2024-03-21 23:44:38
maintainerNone
docs_urlNone
authorNone
requires_python<3.13,>=3.8
licenseApache-2.0
keywords kafka strimzi cli operator kubernetes k8s openshift apache-kafka
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![Build](https://github.com/systemcraftsman/strimzi-kafka-cli/workflows/Build/badge.svg) ![Deploy](https://github.com/systemcraftsman/strimzi-kafka-cli/workflows/Deploy/badge.svg) [![PyPI](https://img.shields.io/pypi/v/strimzi-kafka-cli)](https://pypi.org/project/strimzi-kafka-cli/) [![Downloads](https://static.pepy.tech/badge/strimzi-kafka-cli)](https://pepy.tech/project/strimzi-kafka-cli) [![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0) [![Strimzi](https://img.shields.io/badge/Strimzi-0.38.0-blue)](https://github.com/strimzi/strimzi-kafka-operator/releases/tag/0.38.0) [![AMQ Streams](https://img.shields.io/badge/AMQ&nbsp;Streams-2.5.0-red)](https://access.redhat.com/documentation/en-us/red_hat_amq_streams/2.5)

![Strimzi CLI logo](https://github.com/SystemCraftsman/strimzi-kafka-cli/assets/10568159/596ea147-9594-4262-a0c3-d63fa14f0577)

# Strimzi Kafka CLI

Strimzi Kafka CLI is a CLI that helps traditional Apache Kafka users -both developers and administrators- to easily adapt to [Strimzi](https://strimzi.io/),
a [Kubernetes operator](https://operatorhub.io/operator/strimzi-kafka-operator) for [Apache Kafka](https://kafka.apache.org/).

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 "**K**afka **F**or **K**ubernetes" 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:

``` bash
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](https://www.systemcraftsman.com/2020/08/25/strimzi-kafka-cli-managing-strimzi-in-a-kafka-native-way/) for more details.

## Installation

### Using Python Package Installer

``` bash
pip install strimzi-kafka-cli --user
```

Or to install Strimzi Kafka CLI in an isolated environment, you can simply use [pipx](https://pypa.github.io/pipx/):

``` bash
pipx install strimzi-kafka-cli
```

### Using Homebrew

``` bash
#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

* [TLS Authentication](https://github.com/systemcraftsman/strimzi-kafka-cli/tree/master/examples/2_tls_authentication)
* [Simple ACL Authorization](https://github.com/systemcraftsman/strimzi-kafka-cli/tree/master/examples/3_simple_acl_authorization)
* [Topic, User and Broker Configuration](https://github.com/systemcraftsman/strimzi-kafka-cli/tree/master/examples/4_configuration)
* [Kafka Connect](https://github.com/systemcraftsman/strimzi-kafka-cli/tree/master/examples/5_connect)

## Dependencies
### Python Dependencies
Please see [pyproject.toml](https://github.com/SystemCraftsman/strimzi-kafka-cli/blob/main/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:

``` bash
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 variables 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 `~/.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.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "strimzi-kafka-cli",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.13,>=3.8",
    "maintainer_email": null,
    "keywords": "kafka, strimzi, cli, operator, kubernetes, k8s, openshift, apache-kafka",
    "author": null,
    "author_email": "Aykut Bulgu <aykut@systemcraftsman.com>",
    "download_url": "https://files.pythonhosted.org/packages/03/68/afb825497809e1cc1b65f4667c53e5b717c388efc7de992cba4e4a16b776/strimzi-kafka-cli-0.1.0a78.tar.gz",
    "platform": null,
    "description": "![Build](https://github.com/systemcraftsman/strimzi-kafka-cli/workflows/Build/badge.svg) ![Deploy](https://github.com/systemcraftsman/strimzi-kafka-cli/workflows/Deploy/badge.svg) [![PyPI](https://img.shields.io/pypi/v/strimzi-kafka-cli)](https://pypi.org/project/strimzi-kafka-cli/) [![Downloads](https://static.pepy.tech/badge/strimzi-kafka-cli)](https://pepy.tech/project/strimzi-kafka-cli) [![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0) [![Strimzi](https://img.shields.io/badge/Strimzi-0.38.0-blue)](https://github.com/strimzi/strimzi-kafka-operator/releases/tag/0.38.0) [![AMQ Streams](https://img.shields.io/badge/AMQ&nbsp;Streams-2.5.0-red)](https://access.redhat.com/documentation/en-us/red_hat_amq_streams/2.5)\n\n![Strimzi CLI logo](https://github.com/SystemCraftsman/strimzi-kafka-cli/assets/10568159/596ea147-9594-4262-a0c3-d63fa14f0577)\n\n# Strimzi Kafka CLI\n\nStrimzi Kafka CLI is a CLI that helps traditional Apache Kafka users -both developers and administrators- to easily adapt to [Strimzi](https://strimzi.io/),\na [Kubernetes operator](https://operatorhub.io/operator/strimzi-kafka-operator) for [Apache Kafka](https://kafka.apache.org/).\n\nThe 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.\n\nStrimzi Kafka CLI uses the `kfk` command as an abbreviation for \"**K**afka **F**or **K**ubernetes\" or simply \"**k** a **f** **k** a\" which reminds of the `kafka-*` prefix of the ordinary Kafka script file names.\n\nWhile 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.\n\nFollowing are the commands of the current version of Strimzi Kafka CLI, that are used for different purposes:\n\n``` bash\nUsage: kfk [OPTIONS] COMMAND [ARGS]...\n\n  Strimzi Kafka CLI\n\nOptions:\n  --version  Show the version and exit.\n  --help     Show this message and exit.\n\nCommands:\n  acls              Manages ACLs on Kafka.\n  clusters          Creates, alters, deletes, describes Kafka cluster(s).\n  configs           Adds/Removes entity config for a topic, client, user or...\n  connect           Creates, alters, deletes, describes Kafka connect...\n  console-consumer  Reads data from Kafka topics and outputs it to standard...\n  console-producer  Reads data from standard input and publish it to Kafka.\n  env               Prints the environment variable values for Strimzi Kafka CLI\n  operator          Installs/Uninstalls Strimzi Kafka Operator\n  topics            Creates, alters, deletes, describes Kafka topic(s).\n  users             Creates, alters, deletes, describes Kafka users(s).\n```\n\nPlease take a look at the relevant article [Strimzi Kafka CLI: Managing Strimzi in a Kafka Native Way](https://www.systemcraftsman.com/2020/08/25/strimzi-kafka-cli-managing-strimzi-in-a-kafka-native-way/) for more details.\n\n## Installation\n\n### Using Python Package Installer\n\n``` bash\npip install strimzi-kafka-cli --user\n```\n\nOr to install Strimzi Kafka CLI in an isolated environment, you can simply use [pipx](https://pypa.github.io/pipx/):\n\n``` bash\npipx install strimzi-kafka-cli\n```\n\n### Using Homebrew\n\n``` bash\n#Tap the homebrew repository first.\nbrew tap systemcraftsman/strimzi-kafka-cli\n\n#Install Strimzi Kafka CLI\nbrew install strimzi-kafka-cli\n```\n\n> Installing the CLI by using Homebrew already uses a virtual environment, so you don't have to worry about your main Python environment.\n\nProject requires: Python >=3.8\n\n## Examples\n\n* [TLS Authentication](https://github.com/systemcraftsman/strimzi-kafka-cli/tree/master/examples/2_tls_authentication)\n* [Simple ACL Authorization](https://github.com/systemcraftsman/strimzi-kafka-cli/tree/master/examples/3_simple_acl_authorization)\n* [Topic, User and Broker Configuration](https://github.com/systemcraftsman/strimzi-kafka-cli/tree/master/examples/4_configuration)\n* [Kafka Connect](https://github.com/systemcraftsman/strimzi-kafka-cli/tree/master/examples/5_connect)\n\n## Dependencies\n### Python Dependencies\nPlease see [pyproject.toml](https://github.com/SystemCraftsman/strimzi-kafka-cli/blob/main/pyproject.toml) file.\n### External Dependencies\n`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:\n\n``` bash\nkfk --version\n```\n\nIf you want to change the `kubectl` and `Strimzi resources` folder, you can simply change their version with the help of some environment variables 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.\n\n**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.\n\n**STRIMZI_KAFKA_CLI_STRIMZI_VERSION:** Set this if you want to use a different Strimzi version.\n\n**STRIMZI_KAFKA_CLI_STRIMZI_PATH:** Set this if you want to use a custom Strimzi/AMQ Streams.\n\n**STRIMZI_KAFKA_CLI_KUBECTL_VERSION** Set this if you want to use a different kubectl version.\n\n**STRIMZI_KAFKA_CLI_KUBECTL_PATH:** Set this if you want to use a custom kubectl.\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "Command Line Interface for Strimzi Kafka Operator",
    "version": "0.1.0a78",
    "project_urls": null,
    "split_keywords": [
        "kafka",
        " strimzi",
        " cli",
        " operator",
        " kubernetes",
        " k8s",
        " openshift",
        " apache-kafka"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0bff7bc6f5c9ef4d18c96730ad46696882e589af4d5888589a990575ce1db651",
                "md5": "d4cda556f718510c16d2c5cf60d361e8",
                "sha256": "9f8a508fdb394bafdeb8596f7134e2019dcda61db3c7890fcf116c5de1a9a2f1"
            },
            "downloads": -1,
            "filename": "strimzi_kafka_cli-0.1.0a78-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d4cda556f718510c16d2c5cf60d361e8",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.13,>=3.8",
            "size": 34690,
            "upload_time": "2024-03-21T23:44:36",
            "upload_time_iso_8601": "2024-03-21T23:44:36.009058Z",
            "url": "https://files.pythonhosted.org/packages/0b/ff/7bc6f5c9ef4d18c96730ad46696882e589af4d5888589a990575ce1db651/strimzi_kafka_cli-0.1.0a78-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0368afb825497809e1cc1b65f4667c53e5b717c388efc7de992cba4e4a16b776",
                "md5": "9e5e10af5955ae9a51a0d80ac4bb95d0",
                "sha256": "862ef68adbdb530ef6802f3a19d2091e2ef341e1fa2febd57ad592c3bb0a780d"
            },
            "downloads": -1,
            "filename": "strimzi-kafka-cli-0.1.0a78.tar.gz",
            "has_sig": false,
            "md5_digest": "9e5e10af5955ae9a51a0d80ac4bb95d0",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.13,>=3.8",
            "size": 36307,
            "upload_time": "2024-03-21T23:44:38",
            "upload_time_iso_8601": "2024-03-21T23:44:38.268004Z",
            "url": "https://files.pythonhosted.org/packages/03/68/afb825497809e1cc1b65f4667c53e5b717c388efc7de992cba4e4a16b776/strimzi-kafka-cli-0.1.0a78.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-21 23:44:38",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "strimzi-kafka-cli"
}
        
Elapsed time: 0.21476s