A command-line interface for managing Kafka Connect connectors via the Kafka Connect REST API.
kkon focuses on providing a fast, simple, and interactive CLI experience for day-to-day connector operations.
kkon is a Go-based CLI tool designed to interact with Kafka Connect clusters.
It creates a lightweight client for the Kafka Connect REST API and exposes common connector management operations through an intuitive command-line interface.
The tool is intended for developers and operators who want a straightforward way to list, inspect, back up, create, and delete connectors without manually interacting with REST endpoints.
- List running Kafka Connect connectors with live status badges (RUNNING / FAILED / PAUSED)
- View connector configurations
- Create connectors from predefined templates (RabbitMQ, S3 Sink, JDBC, Debezium Postgres)
- Delete existing connectors
- Update connector configuration with a before→after diff view
- Back up connector configurations to JSON files
- Health-check with per-task error trace preview for failed tasks
- Interactive CLI prompts (arrow-key navigation, cancel option on every prompt)
- Connection test after saving credentials
- Basic auth support
- Simple configuration-driven setup
- JSON output for all read commands (
--output json)
Download the latest binary for your platform from the Releases page, then make it executable:
chmod +x kkon
mv kkon /usr/local/bin/kkongo install github.com/Maksim-Gr/kkon@latestgit clone https://github.com/Maksim-Gr/kkon.git
cd kkon
go build -o kkonOn first run kkon will prompt you to configure a Kafka Connect endpoint.
You can also run configuration manually at any time:
kkon config setConfig file location:
| Platform | Path |
|---|---|
| Linux / macOS | ~/.config/kkon/config.yaml |
| Windows | %USERPROFILE%\.config\kkon\config.yaml |
Example config:
kafkaConnect:
url: http://localhost:8083
username: ""
password: ""kkon --helpkkon connector list # List connectors with status badges
kkon connector create # Create from template (RabbitMQ, S3 Sink, JDBC, Debezium Postgres)
kkon connector create -f connector.json # Create from JSON file
kkon connector update # Update connector config (shows before→after diff)
kkon connector delete [name] # Delete a connector (interactive, or pass a name)
kkon connector delete my-conn --yes # Delete without the confirmation prompt (scriptable)
kkon connector pause [name] # Pause a connector and its tasks
kkon connector resume [name] # Resume a paused connector
kkon connector restart [name] # Restart a connector (and its tasks)
kkon connector restart [name] --only-failed # Restart only FAILED connector and tasks
kkon connector health-check # Show connector and task statuses with error traces
delete,pause,resume, andrestarttake an optional connector name — omit it to pick interactively.deleteandrestartaccept--yes/-yto skip the confirmation prompt (for scripting).restartrestarts tasks by default (--include-tasks); use--only-failedto restart only failed connectors/tasks.
kkon task list -c <name> # List tasks for a connector
kkon task get -c <name> # Get task status
kkon task restart -c <name> # Restart a taskkkon config set # Set Kafka Connect URL and credentials
kkon config show # Display current configuration
kkon connector backup # Backup all connector configs to JSON
kkon connector backup --dir ./backup--dry-run, -d Preview actions without making any API calls
--output, -o <fmt> Output format: text (default) or jsonThe backup command retrieves all connector configurations from the Kafka Connect cluster and stores them in a timestamped JSON file:
kkon connector backup --dir ./backupThis allows connector configurations to be versioned, reviewed, or restored later.
- Additional connector templates
- Table output format (
--output table)
kkon is stable and actively used for connector lifecycle management.
Releases follow semantic versioning (v1.x); new connector templates and API features continue to be added in backward-compatible minor releases.
Contributions, bug reports, and feature requests are welcome.
- Check open issues before submitting a duplicate
- Fork the repository and open a pull request against
main - Follow the existing code style (
gofmt,go vet) - Integration tests require Docker; run
make test
- Kafka Connect REST API documentation: https://docs.confluent.io/platform/current/connect/references/restapi.html
