Skip to content

CLI

Karafka has a simple CLI built in. It provides the following commands:

Command Description
help [COMMAND] Describe available commands or one specific command
console Start the Karafka irb console similar to the Rails console (short-cut alias: "c")
info Print configuration details and other options of your application
install Installs all required things for Karafka application in current directory
server Start the Karafka server (short-cut alias: "s")
topics Allows for topics management (create, delete, repartition, reset, migrate)

All the commands are executed the same way:

bundle exec karafka [COMMAND]

If you need more details about each of the CLI commands, you can execute the following command:

bundle exec karafka help [COMMAND]

Karafka server

Limiting consumer groups used per process

Karafka supports having multiple consumer groups within a single application. You can run multiple Karafka instances, specifying consumer groups that should be running per each process using the --include-consumer-groups server flag as follows:

bundle exec karafka server --include-consumer-groups group_name1 group_name3

If you specify none, by default, all will run.

You can also exclude certain consumer groups by using the --exclude-consumer-groups flag:

bundle exec karafka server --exclude-consumer-groups group_name2

Limiting subscription groups used per process

Karafka supports having multiple subscription groups within a single application. You can run multiple Karafka instances, specifying subscription groups that should be running per each process using the --include-subscription-groups server flag as follows:

bundle exec karafka server --include-subscription-groups group_name1 group_name3

If you specify none, by default, all will run.

You can also exclude certain subscription groups by using the --exclude-subscription-groups flag:

bundle exec karafka server --exclude-subscription-groups group_name2

Limiting topics used per process

Karafka supports having multiple topics within a single application. You can run multiple Karafka instances, specifying topics that should be running per each process using the --include-topics server flag as follows:

bundle exec karafka server --include-topics topic_name1 topic_name3

If you specify none, by default, all will run.

You can also exclude certain topics by using the --exclude-topics flag:

bundle exec karafka server --exclude-topics topic_name2

Declarative Topics

Declarative Topics managament via the CLI has its own section. You can read about that here.