The Open source Resource as Code framework for Apache Kafka. Jikkou helps you implement GitOps for Kafka at scale!
> /plugin marketplace add streamthoughts/jikkou> /plugin install jikkou@jikkou
Your platform team runs Kafka for everyone else. Fifty app teams, and every new topic is a ticket. Configs drift between staging and production because someone "fixed" something by hand during an incident. Nobody can say who changed what, or why.
Jikkou (jikkou / 実行, execution in Japanese) fixes this the way kubectl fixed Kubernetes:
declare your Kafka resources (topics, ACLs, quotas, schemas, connectors) as YAML in Git, review changes
in pull requests, and let Jikkou reconcile the desired state against your real clusters. Kafka-first,
and platform-ready: the same engine manages Schema Registry, Kafka Connect, Confluent Cloud, Aiven,
Amazon MSK, AWS Glue, and Apache Iceberg.
| Your problem | Jikkou's answer |
|---|---|
| "Someone changed a topic by hand and nobody noticed" | Stateless reconciliation. No state file; jikkou diff compares Git against the actual cluster, so drift is always visible |
| "300 topics that differ by one value" | Jinja templating. One definition, per-environment values files |
| "Same config must land on five clusters" | Multi-cluster apply. Provider groups target a whole fleet in one command |
| "Every change needs review and an audit trail" | GitOps-native. YAML in Git, diff in the pull request, apply in CI |
| "We can't let a typo reach production" | Validations & dry-run. Platform rules (naming, min ISR, partition limits) enforced before anything is applied |
| "We also run Schema Registry, Connect, Iceberg…" | One agnostic engine. Pluggable providers, one resource model across your whole data platform |
# Via SDKMan (recommended)
sdk install jikkou
# Or via Docker
docker pull streamthoughts/jikkou
See the full installation guide for native binaries, Homebrew, and more.
# kafka-topics.yaml
apiVersion: 'kafka.jikkou.io/v1beta2'
kind: 'KafkaTopic'
metadata:
name: 'my-topic'
spec:
partitions: 12
replicas: 3
configs:
min.insync.replicas: 2
# Preview the change against the real cluster, not a state file
jikkou diff --files ./kafka-topics.yaml
# Apply it
jikkou apply --files ./kafka-topics.yaml
That's it. Jikkou computes the diff and applies only the necessary changes:
TASK [CREATE] Create a new topic my-topic (partitions=12, replicas=3) - CHANGED
EXECUTION in 2s 661ms
ok: 0, created: 1, altered: 0, deleted: 0, failed: 0
The same declarative YAML model covers your entire streaming platform. And because the engine is platform-agnostic, it extends beyond Kafka: Apache Iceberg tables, views, and namespaces are managed with the exact same workflow.
| Apache Kafka | Schema Registry | Kafka Connect | Apache Iceberg | Cloud Providers |
|---|---|---|---|---|
| Topics & Configs | Avro Schemas | Connectors | Tables | Aiven (ACLs, Quotas) |
| ACLs | JSON Schemas | Views | Confluent Cloud (RBAC) | |
| Quotas | Protobuf Schemas | Namespaces | AWS Glue Schemas | |
| Consumer Groups | ||||
| Brokers & Users | ||||
| KTable Records |
Jikkou follows a simple reconciliation loop:
| Mode | Description |
|---|---|
| CLI | Run as a command-line tool — perfect for local development and CI/CD pipelines |
| API Server | Run as a REST API server — ideal for platform teams and automation |
| Docker | Available as container images on Docker Hub |
| Native Binary | GraalVM-compiled native executables for instant startup |
Jikkou ships official Agent Skills so coding agents can manage your Kafka resources through the CLI — with validation and dry-runs built into the workflow.
Claude Code:
/plugin marketplace add streamthoughts/jikkou
/plugin install jikkou
Other agents: copy skills/managing-kafka-resources into your agent's skills directory.
The skill never applies changes without showing a diff or dry-run first, and asks before installing anything.
Full documentation is available at jikkou.io.
For build instructions, development setup, and contribution guidelines, see:
# Build and run all tests
./mvnw clean verify
# Build without tests
./mvnw clean verify -DskipTests
# Apply code formatting
./mvnw spotless:apply
Requirements: Java 25, Docker (for integration tests), GraalVM (for native builds)
Jikkou is built by its community. Thank you to everyone who has contributed!
Want to see your name here? Check out the contribution guide and open issues.
If you find Jikkou useful, please consider:
Licensed under the Apache License, Version 2.0.
jikkou is a Claude Code plugin with 1 hand-picked skill, indexed on Flowy in the Operations category. Install it with the command on its page. It includes managing-kafka-resources. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it