---
id: "karapace"
type: "component"
kind: "schema-registry"
provider: "default"
category: "data"
docs: "https://github.com/Aiven-Open/karapace"
url: "https://localhost:3000/catalogue/components/karapace"
---

# Karapace

Open source schema registry and REST proxy compatible with the Confluent Schema Registry API.

| | |
|---|---|
| Provider | [default](https://localhost:3000/catalogue?provider=default) |
| Kind | [Schema registry](https://localhost:3000/catalogue/kinds/schema-registry) |
| Category | Data |
| Official docs | [https://github.com/Aiven-Open/karapace](https://github.com/Aiven-Open/karapace) |

## Properties

| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| `compatibility` | enum | `none`, `backward`, `forward`, `full` | no | "backward" | **"backward"** |
| `enforced` | boolean | — | no | false | **false** |
| `managed` | boolean | — | no | false | **false** |
| `restProxy` | boolean | — | no | false | inherited |
| `schemaFormat` | enum | `avro`, `protobuf`, `json-schema` | no | "avro" | inherited |
| `schemasTopic` | string | — | no | "_schemas" | inherited |

Bold values are the ones this component pins.

## Rules that apply · 0

No rule selects this kind or its category.

## Other products of the same kind · 7

- [Amazon EventBridge Schema Registry](https://localhost:3000/catalogue/components/aws-eventbridge-schemas.md) `aws-eventbridge-schemas` — aws
- [AWS Glue Schema Registry](https://localhost:3000/catalogue/components/glue-schema-registry.md) `glue-schema-registry` — aws
- [Azure Schema Registry](https://localhost:3000/catalogue/components/azure-schema-registry.md) `azure-schema-registry` — azure
- [Apicurio Registry](https://localhost:3000/catalogue/components/apicurio.md) `apicurio` — default
- [Confluent Schema Registry](https://localhost:3000/catalogue/components/confluent-schema-registry.md) `confluent-schema-registry` — default
- [Generic schema registry](https://localhost:3000/catalogue/components/schema-registry.md) `schema-registry` — default
- [Pub/Sub schema](https://localhost:3000/catalogue/components/google-pubsub-schema.md) `google-pubsub-schema` — gcp

## Use it in a design

```yaml
nodes:
  - { id: "karapace", component: "karapace" }
```

## Source (`component` YAML, verbatim)

```yaml
# yaml-language-server: $schema=../../schema/component.schema.json
# Karapace: Apache-2.0 drop-in replacement for the Confluent Schema Registry and REST proxy. Global
# compatibility is BACKWARD, schemas live in the _schemas topic and it listens on 8081 ("Karapace",
# "karapace README").
schemaVersion: "1"
type: "component"
id: "karapace"
kind: "schema-registry"
provider: "default"
docs: "https://github.com/Aiven-Open/karapace"
defaults:
  compatibility: "backward"
  enforced: false
  managed: false
properties:
  schemaFormat:
    type: "enum"
    values: ["avro", "protobuf", "json-schema"]
    default: "avro"
  schemasTopic:
    type: "string"
    default: "_schemas"
  restProxy:
    type: "boolean"
    default: false
```

Human page: https://localhost:3000/catalogue/components/karapace
