https://github.com/streamthoughts/jikkou
The Open source Resource as Code framework for Apache Kafka. Jikkou helps you implement GitOps for Kafka at scale!
https://github.com/streamthoughts/jikkou
apache-kafka automation aws-glue cluster-manager datamesh devops gitops hacktoberfest infrastructure-as-code java kafka kafka-cluster kafka-manager kafka-topic yaml
Last synced: 11 days ago
JSON representation
The Open source Resource as Code framework for Apache Kafka. Jikkou helps you implement GitOps for Kafka at scale!
- Host: GitHub
- URL: https://github.com/streamthoughts/jikkou
- Owner: streamthoughts
- License: apache-2.0
- Created: 2018-07-16T19:53:53.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2026-02-17T00:47:48.000Z (about 1 month ago)
- Last Synced: 2026-02-17T02:20:28.498Z (about 1 month ago)
- Topics: apache-kafka, automation, aws-glue, cluster-manager, datamesh, devops, gitops, hacktoberfest, infrastructure-as-code, java, kafka, kafka-cluster, kafka-manager, kafka-topic, yaml
- Language: Java
- Homepage: https://www.jikkou.io/
- Size: 34.9 MB
- Stars: 265
- Watchers: 8
- Forks: 25
- Open Issues: 35
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Agents: AGENTS.md
Awesome Lists containing this project
- awesome-java - Jikkou
- awesome-kafka - Jikkou - GitOps tool for managing Kafka resources as code. (Management & Monitoring / Cluster Management)
README
Resource as Code for Apache Kafka
Declare. Apply. Automate.
Manage your Kafka resources the same way you manage your infrastructure.
Documentation •
Install •
Tutorials •
Slack
---
**Jikkou** (jikkou / 実行 — *execution* in Japanese) is an open-source tool that lets you manage Apache Kafka resources declaratively using YAML files, the same way `kubectl` manages Kubernetes resources.
Stop writing scripts. Stop clicking through UIs. Define your desired state, and Jikkou makes it happen.
## Why Jikkou?
| | |
|---|---|
| **Declarative** | Define Topics, ACLs, Schemas, Connectors, and Quotas as code in simple YAML files |
| **GitOps-Ready** | Version-control your Kafka configuration and automate changes through CI/CD |
| **Stateless** | No database needed — Jikkou uses your Kafka platform as the source of truth |
| **Safe** | Built-in dry-run mode, validations, and reconciliation engine prevent accidents |
| **Extensible** | Plugin-based architecture with providers, validators, transformations, and templates |
| **Multi-Platform** | Works with Apache Kafka, Confluent Cloud, Aiven, Amazon MSK, Redpanda, and more |
## Quick Start
### Install
```bash
# Via SDKMan (recommended)
sdk install jikkou
# Or via Docker
docker pull streamthoughts/jikkou
```
> See the full [installation guide](https://jikkou.io/docs/install/) for native binaries, Homebrew, and more.
### Define a Kafka topic
```yaml
# kafka-topics.yaml
apiVersion: 'kafka.jikkou.io/v1beta2'
kind: 'KafkaTopic'
metadata:
name: 'my-topic'
spec:
partitions: 12
replicas: 3
configs:
min.insync.replicas: 2
```
### Apply it
```bash
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
```
## Supported Resources
| Apache Kafka | Schema Registry | Kafka Connect | Cloud Providers |
|:---:|:---:|:---:|:---:|
| Topics & Configs | Avro Schemas | Connectors | Aiven (ACLs, Quotas) |
| ACLs | JSON Schemas | | AWS Glue Schemas |
| Quotas | Protobuf Schemas | | |
| Consumer Groups | | | |
| Brokers & Users | | | |
| KTable Records | | | |
## How It Works
Jikkou follows a simple reconciliation loop:
1. **Read** your resource definitions from YAML files (with Jinja templating support)
2. **Compute** the differences between desired state and actual cluster state
3. **Apply** only the minimal set of changes needed
4. **Report** what was created, updated, or deleted
## Deployment Modes
| 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](https://hub.docker.com/r/streamthoughts/jikkou) |
| **Native Binary** | GraalVM-compiled native executables for instant startup |
## Documentation
Full documentation is available at **[jikkou.io](https://jikkou.io/)**.
- [Getting Started](https://jikkou.io/docs/install/)
- [Concepts & Architecture](https://jikkou.io/docs/concepts/)
- [Providers Reference](https://jikkou.io/docs/providers/)
- [Tutorials](https://jikkou.io/docs/tutorials/)
## Developers
For build instructions, development setup, and contribution guidelines, see:
- **[CONTRIBUTING.md](./CONTRIBUTING.md)** — How to contribute, coding guidelines, commit conventions
- **[AGENTS.md](./AGENTS.md)** — Detailed development guidelines, build commands, and architecture
### Quick Build
```bash
# 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)
## Contributors
Jikkou is built by its community. Thank you to everyone who has contributed!
Want to see your name here? Check out the [contribution guide](./CONTRIBUTING.md) and [open issues](https://github.com/streamthoughts/jikkou/issues).
## Support the Project
If you find Jikkou useful, please consider:
- Giving it a **[star on GitHub](https://github.com/streamthoughts/jikkou)** to help others discover it
- Joining the **[Slack community](https://join.slack.com/t/jikkou-io/shared_invite/zt-27c0pt61j-F10NN7d7ZEppQeMMyvy3VA)** to ask questions and share feedback
- **[Contributing](./CONTRIBUTING.md)** code, documentation, or bug reports
## License
Licensed under the [Apache License, Version 2.0](./LICENSE).
---
Developed with ❤ by Florian Hussonnois and the Jikkou community.