Skip to main content
A Pulsar cluster with the Kafka protocol enabled also runs the Kafka Schema Registry, a registry compatible with the Confluent Schema Registry API. Kafka clients use it through the standard Confluent serializers and deserializers, and Pulsar clients can reach it through the External Schemas library. This page covers what’s specific to running it on a Pulsar cluster: enabling it, finding its endpoint, and granting access. The registry’s concepts, compatibility rules, schema formats, and REST API are the same on every cluster type—see Kafka Schema Registry for those.
Pulsar clusters run two schema registries and they aren’t interoperable. If you haven’t decided which one your applications should use, start with Data governance overview.

Enable the Schema Registry

  1. In the StreamNative Cloud Console, open the left navigation pane, and under Admin select Kafka Clients.
  2. Choose the Java client, then turn on the Kafka Schema Registry toggle. Enable the Kafka Schema Registry

Get the Schema Registry URL

On a Pulsar cluster, the Schema Registry URL is the cluster’s HTTP service URL with /kafka appended:
That /kafka sub-path is specific to the Kafka Schema Registry running on a Pulsar cluster. A native Kafka cluster serves the registry at its HTTP service URL with no sub-path, so a URL copied from one cluster type won’t work on the other.
The registry listens on port 443 over HTTPS. See Networking for the full list of cluster endpoints and ports.

Grant access

Clients need permission to read and register schemas. StreamNative Cloud supports two authorization models, and which one applies depends on your cluster.

Role-based access control

Assign one of the Schema Registry roles, scoped to the subjects the client uses: See Manage RBAC roles for how to bind a role to a service account.

Topic-level permission

Older clusters authorize Schema Registry access through a single ACL on the registry’s backing topic instead. Grant produce on public/__kafka_schemaregistry/__schema-registry: Grant permission for the Schema Registry topic
Under this model the same permission covers both reads and writes—a client that only reads schemas still needs produce on that topic. Prefer role-based access control where it’s available, since it scopes permissions per subject.

Connect a client

Point your client’s schema.registry.url at the URL from above and supply credentials. Basic authentication works with every Kafka client; OAuth2 is available for the Java client.
For the OAuth2 configuration, the full property reference, and per-language examples, see Connect to the Kafka Schema Registry.

Next steps

Kafka Schema Registry reference

Compatibility modes, the REST API, and schema ID validation.

Use Kafka schemas from Pulsar clients

Keep the Pulsar APIs while resolving schemas from this registry.

Replicate schemas

Set up active-standby replication with Universal Linking.

Pulsar Schema Registry

The other registry on this cluster.