Favicon of Karapace

Karapace

Karapace is an Apache-2.0 drop-in replacement for Confluent Schema Registry (plus a Kafka REST proxy), maintained by Aiven.

LicenseOpen source (permissive)· Apache-2.0
DeploymentSelf-hostedManaged
PricingFree
Operational complexityLow
WorkloadStreaming
LanguagePython

Use it when

  • You want Confluent Schema Registry's contract under Apache-2.0: existing serializers, converters, and tooling work unchanged, compatibility modes and all.
  • License posture is the deciding factor: redistribution, strict OSS-only policies, or competitive hosting rule the Community License out.
  • HTTP clients need Kafka access too; the bundled REST proxy produces and consumes without native libraries.
  • You run Kafka on Aiven, where Karapace is the registry behind the managed service.

Think twice when

  • Governance needs are enterprise-shaped; auth is basic users and ACL files, with no RBAC product, no schema linking, and no data contracts.
  • Exact parity matters at the edges; compatibility is stated at API level against Schema Registry 6.1.1, with normalization and error-message parity not fully guaranteed.
  • You need formats past Avro, JSON Schema, and Protobuf, or a registry without Kafka underneath; state lives in a Kafka topic, exactly as Confluent's does.

How it runs

A Python service on aiohttp storing state in a compacted Kafka topic, with leader election through Kafka and a REST proxy served alongside. Free with no commercial edition; Aiven maintains it and operates it inside its managed Kafka.

Details

Compare

How Karapace answers the questions Schema Registries turns on.

Schema Registries
How it works
Schema formatsAvro, JSON Schema and Protobuf, the same three Confluent's registry holds, which follows from compatibility being the entire point rather than from a separate decision
ProtocolThe Confluent API is the product, and the README is more precise than the marketing: Karapace "is compatible with Schema Registry 6.1.1 on API level" and "supports all operations in the API", with the stated goal of tracking new Confluent releases in reasonable time, while warning that schema normalisation and error-message parity "cannot be always fully guaranteed". A Kafka REST proxy is served beside the registry on the same footing
Compatibility rulesThe Confluent seven (NONE, BACKWARD, BACKWARD_TRANSITIVE, FORWARD, FORWARD_TRANSITIVE, FULL and FULL_TRANSITIVE) with BACKWARD the global default, settable globally or per subject through the same endpoints, because the semantics follow from the compatibility claim rather than being designed independently
Where enforcedAt registration, as Confluent's is, the same contract reached through the same endpoints, which is the point of the row
Running it
What you runA Python service on aiohttp keeping its state in Kafka exactly as Confluent's does, a topic named by topic_name, defaulting to _schemas, with a configurable replication factor. Leader and replica instances elect a master through Kafka itself, tuned by master_eligibility and an election strategy defaulting to lowest
Connections
Client librariesConfluent's own client libraries, unchanged, there are no Karapace serialisers, because the whole proposition is that existing serdes, connectors and tooling cannot tell the difference. The bundled REST proxy covers HTTP clients with no native Kafka library at all
Generated codeNone: the same answer as Confluent's registry and Apicurio's, and for the same reason: schemas come out through the API and the ordinary Avro or Protobuf toolchain does the rest
ConnectorsWhatever already speaks the Confluent API (serialisers, Kafka Connect converters, stream processors and management tooling, none of which need changing) with the bundled REST proxy adding plain HTTP producers and consumers to that list
Access
Access controlThin, and honestly so: HTTP basic auth with users and access-control rules in a registry_authfile, plus REST proxy authorisation that can delegate to Kafka over SASL using the caller's own credentials. There is no RBAC product, no schema linking and no data contracts; this row's case is the licence rather than the governance surface
Cost
Billing unitNothing to pay: Apache-2.0 with no commercial edition of Karapace itself. Aiven, which maintains it, runs it inside its managed Kafka service, so the cost there is an Aiven subscription rather than a Karapace one

Share:

Alternatives to Karapace

Favicon

 

  
  
Favicon

 

  
  
Favicon

 

  
  

Used in architectures