monedula-gitops docs menu
How monedula-gitops compares
monedula-gitops compared with Jikkou, JulieOps, Strimzi, Confluent for Kubernetes, kafka-gitops and the Terraform Kafka provider.
On this page
monedula-gitops suits teams that want a topic, the applications that use it, their SCRAM users, quotas, schemas and Confluent Platform role bindings declared in Git, with the same model applied by a CLI in CI or by a Kubernetes operator. The tables compare what each project documents, as of the date at the end of this page.
How to read the tables
- Yes: the project’s documentation describes the feature.
- Partial: it covers part of the feature. The numbered note under the table says which part.
- No: the documentation says it does not, or its complete list of resources, commands or settings has no such entry.
- Not documented: the documentation does not settle it either way.
What each tool manages
Access
| Tool | Access on the topic | ACLs | Principals | RBAC (MDS) |
|---|---|---|---|---|
| monedula-gitops | Yes | Yes | Yes | Yes |
| Jikkou | No | Yes | Yes | No1 |
| JulieOps | Yes2 | Yes | Partial3 | Yes |
| kafka-gitops | No4 | Yes | Partial5 | No |
| Strimzi | No | Yes | Yes | No |
| Confluent for Kubernetes | No | Partial6 | Partial7 | Yes |
| Terraform Kafka provider | No | Yes | Yes | No |
- Access on the topic means producers and consumers are declared on the topic resource itself, not on a separate user, principal, service or ACL resource.
- Principals means the tool creates the principal’s credential on the cluster, such as a SCRAM user.
- RBAC (MDS) means Confluent Platform role bindings through its Metadata Service (MDS).
Notes:
- Jikkou manages role bindings on Confluent Cloud, which monedula-gitops does not. Its list of providers has none for Confluent Platform MDS.
- JulieOps declares consumers and producers on a project, or on a single topic for access to that topic only.
- Confluent Cloud service accounts only, behind an experimental feature flag. The docs list SASL/SCRAM as not yet implemented.
- A service lists the topics it produces to and consumes from, in the same file as the topics.
- The
accountcommand creates Confluent Cloud service accounts and never deletes them. - The
Kafkaresource turns on ACL authorization and sets super users. The ACLs themselves are created outside Confluent for Kubernetes. - SASL/PLAIN users from a Kubernetes Secret. SCRAM is not among its documented Kafka authentication methods.
Topics, quotas and schemas
| Tool | Topics | Quotas | Schemas |
|---|---|---|---|
| monedula-gitops | Yes | Yes | Yes |
| Jikkou | Yes | Partial8 | Yes |
| JulieOps | Yes | Partial9 | Yes |
| kafka-gitops | Yes | No | No |
| Strimzi | Yes | Partial10 | No |
| Confluent for Kubernetes | Yes | No | Yes |
| Terraform Kafka provider | Yes | Partial11 | No |
- Quotas means Kafka client quotas per user, per client id, per user and client id together, or per IP.
Notes:
- Quotas per user, per client id or both. Its list of quota types has none for IP addresses.
- Quotas are documented per user principal. Client-id and IP quotas are not documented.
- User quotas on the
KafkaUser. Strimzi does not support client-level quotas. - One user, client id or IP per quota. The resource has no way to set a quota on a user and client id together.
How each tool runs
| Tool | CLI | Operator | Drift check | Import |
|---|---|---|---|---|
| monedula-gitops | Yes | Yes | Yes | Yes |
| Jikkou | Yes | No12 | Yes | Yes |
| JulieOps | Yes | No | Partial13 | No |
| kafka-gitops | Yes | No | Yes | No |
| Strimzi | No | Yes | Partial14 | No15 |
| Confluent for Kubernetes | No | Yes | No16 | Not documented17 |
| Terraform Kafka provider | Yes18 | No | Yes | Partial19 |
- CLI means the tool applies the declared state from a command line or a CI job, without Kubernetes.
- Operator means it runs in a Kubernetes cluster, watches custom resources and reconciles them continuously.
- Drift check means it compares the declared state with the live cluster and reports the differences without changing anything, for example to fail a CI job.
- Import means it writes declarations from what already exists on a cluster.
Notes:
- Jikkou runs as a CLI or as a REST API server.
--dryRunprints the execution plan without changing anything. Whether that plan compares ACLs and other non-topic state with the live cluster or with JulieOps’s own state file depends ontopology.state.cluster.enabled. A dedicated drift check or drift exit code is not documented.- The Topic Operator reverts configuration changes made to a managed topic outside its
KafkaTopic. A check that only reports drift is not documented. - You bring an existing topic under management by writing a matching
KafkaTopicyourself. - A topic change made outside its
KafkaTopic, for example with Control Center or the Confluent CLI, is not reconciled, and the resource and the topic get out of sync. - A
Schemaresource can only manage subjects that Confluent for Kubernetes created, not pre-existing ones. - Through the Terraform CLI:
terraform planandterraform apply. terraform importadopts one existing topic, ACL, quota or SCRAM credential at a time, by its ID. Importing a SCRAM credential needs its password, because Kafka cannot return it.
On 2026-10-01 none of these repositories was archived. Jikkou released v1.1.0 on 2026-08-03 and the Terraform provider v0.13.1 on 2025-09-22. JulieOps last released v4.4.1 on 2022-10-10, and its README says the project is in a “long winter hibernation”. kafka-gitops last released 0.2.15 on 2021-02-25.
When to choose something else
- You run Kafka with Strimzi, and topics and users are all you need. The Topic and User Operators come with the platform that runs your brokers, and their standalone deployment also manages a Kafka cluster that Strimzi does not run.
- You run Confluent Platform with Confluent for Kubernetes. Its
KafkaTopic,SchemaandConfluentRolebindingresources sit next to the resources that deploy your brokers, and aKafkaTopiccan also target a Confluent Cloud cluster. - You need Kafka Connect, Aiven, AWS Glue or Confluent Cloud role bindings. Jikkou manages connectors, Aiven ACLs and quotas, AWS Glue schemas and Confluent Cloud role bindings, which monedula-gitops does not. It also has templates, validation policies and an API server.
- Kafka is one of many resources you provision with Terraform. The Terraform provider keeps topics, ACLs, quotas and SCRAM credentials in the same plan and state as the rest of your infrastructure.
- Your license policy rules out AGPL. monedula-gitops is AGPL-3.0. Jikkou, kafka-gitops and Strimzi are Apache-2.0, and JulieOps and the Terraform provider are MIT.
Sources
Checked on 2026-10-01 against:
- Jikkou: documentation overview, Kafka topics, authorizations, users, quotas, Schema Registry provider, Confluent Cloud role bindings, CLI reference, detect configuration drift, back up and restore, Jikkou vs Strimzi Topic Operator, repository and releases
- JulieOps: README, managing topics, controlling the access, managing principals, quotas, schemas, configuration values, how to run it and releases
- kafka-gitops: README, documentation, desired state specification, quick start, Confluent Cloud, installation and releases
- Strimzi 1.2.0: Deploying and Managing Strimzi, sections 1.1, 7.7, 12 (Topic Operator), 13 (User Operator) and 16.3 (user authentication, authorization and quotas), and the repository
- Confluent for Kubernetes: overview, API reference, manage Kafka topics, simple ACLs, authentication, manage schemas and manage RBAC
- Terraform Kafka provider: README, resource docs for topics, ACLs, quotas and SCRAM credentials, releases, and Terraform’s plan command