Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
3c19d16
Create schema-reg-contexts.adoc
Feediver1 Apr 6, 2026
51f0e5a
docs(DOC-1658): add Schema Registry Contexts to site nav
Feediver1 Apr 6, 2026
49a620c
First draft grimness
Feediver1 Apr 7, 2026
0657a06
Update modules/manage/pages/schema-reg/schema-reg-contexts.adoc
Feediver1 Apr 8, 2026
7566a77
Apply suggestions from code review
Feediver1 Apr 8, 2026
24eb29d
Apply suggestions from code review
Feediver1 Apr 8, 2026
b8de5b2
Apply suggestions from code review
Feediver1 Apr 9, 2026
b7e87ea
Apply suggestions from code review
Feediver1 Apr 10, 2026
1ac6b7e
Apply suggestions from code review
Feediver1 Apr 10, 2026
d0c1357
docs: add single-source tags and cross-link cloud-docs playbook
micheleRP Apr 10, 2026
c8d6312
Apply suggestions from code review
Feediver1 Apr 16, 2026
c81afb0
Apply suggestion from @Feediver1
Feediver1 Apr 16, 2026
c998717
Apply suggestion from @Feediver1
Feediver1 Apr 16, 2026
8613e3c
Apply suggestion from @Feediver1
Feediver1 Apr 16, 2026
d797a76
Apply suggestion from @Feediver1
Feediver1 Apr 16, 2026
69243b9
Add contexts to schema-reg-api.adoc and cross-references
kbatuigas Apr 17, 2026
b04e90e
Apply suggestion from @Feediver1
Feediver1 Apr 20, 2026
a548896
Apply suggestions from code review
Feediver1 Apr 20, 2026
88c76ad
Merge branch 'main' into Feediver1-patch-7
Feediver1 Apr 21, 2026
e445bba
Apply suggestion from @Feediver1
Feediver1 Apr 21, 2026
d493995
Apply suggestion from @Feediver1
Feediver1 Apr 21, 2026
49e88e3
Apply suggestion from @Feediver1
Feediver1 Apr 21, 2026
fbeee42
docs(DOC-1658): add Schema Registry contexts to What's New
Feediver1 Apr 21, 2026
2f9d3df
Apply suggestions from code review
Feediver1 Apr 21, 2026
304d7ee
fix: restore cloud-docs branch to main in local-antora-playbook.yml
Feediver1 Apr 21, 2026
915b5fe
chore: trigger Netlify preview rebuild
Feediver1 Apr 21, 2026
b2a9211
docs(DOC-1658): reduce learning objectives to 3
Feediver1 Apr 21, 2026
9802088
Apply suggestion from @Feediver1
Feediver1 Apr 21, 2026
c84400a
Apply suggestion from @Feediver1
Feediver1 Apr 21, 2026
6cb5311
Merge branch 'main' into Feediver1-patch-7
Feediver1 Apr 21, 2026
ffa12f5
Apply suggestions from code review
Feediver1 Apr 21, 2026
14f8c6e
Update modules/manage/pages/schema-reg/schema-reg-contexts.adoc
Feediver1 Apr 21, 2026
4e10c42
Apply suggestions from code review
Feediver1 Apr 22, 2026
3d7c996
Apply suggestion from @Feediver1
Feediver1 Apr 22, 2026
37869ad
Apply suggestions from code review
Feediver1 Apr 22, 2026
fdd8cf8
Add Schema Registry contexts section to Console schema-reg page
Feediver1 Apr 22, 2026
aa094ce
Add anchor and link to Cross-context schema references heading
Feediver1 Apr 22, 2026
ef3312c
Apply suggestions from code review
Feediver1 Apr 22, 2026
22a29ca
Apply suggestion from @Feediver1
Feediver1 Apr 22, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion local-antora-playbook.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ content:
- url: https://github.com/redpanda-data/docs
branches: [v/*, shared, site-search,'!v-end-of-life/*']
- url: https://github.com/redpanda-data/cloud-docs
branches: 'main'
branches: main
- url: https://github.com/redpanda-data/redpanda-labs
branches: main
start_paths: [docs,'*/docs']
Expand Down
1 change: 1 addition & 0 deletions modules/ROOT/nav.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,7 @@
**** xref:manage:schema-reg/schema-reg-api.adoc[API]
**** xref:manage:kubernetes/k-schema-controller.adoc[Kubernetes]
*** xref:manage:schema-reg/schema-reg-authorization.adoc[Schema Registry Authorization]
*** xref:manage:schema-reg/schema-reg-contexts.adoc[Schema Registry Contexts]
*** xref:manage:schema-reg/schema-id-validation.adoc[]
*** xref:console:ui/schema-reg.adoc[Manage in Redpanda Console]
** xref:manage:high-availability.adoc[High Availability]
Expand Down
34 changes: 33 additions & 1 deletion modules/console/pages/ui/schema-reg.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -101,11 +101,43 @@ include::manage:partial$schema-compatibility.adoc[]

Select a schema to soft-delete a version of it or all schemas of its subject. Schemas cannot be deleted if any other schemas reference it. A soft-deleted schema can be recovered, but a permanently-deleted schema cannot be recovered. Redpanda does not recommend permanently deleting schemas in a production environment.


== Schema Registry contexts

Schema Registry contexts are namespaces that group subjects and schemas within a single Schema Registry instance. For context configuration details and prerequisites, see xref:manage:schema-reg/schema-reg-contexts.adoc[].

ifdef::env-cloud[]
NOTE: On Serverless clusters, Redpanda manages contexts internally for per-tenant isolation and does not expose them to end users. On BYOC and Dedicated clusters, contexts are available and user-configurable.
endif::env-cloud[]

=== How Console uses contexts

When Schema Registry contexts are enabled in your cluster, Console provides context-aware subject browsing and management.

Console lists subjects according to their context, using context-capable APIs to ensure subjects and their versions come from the correct namespace.

When you open a subject, Console fetches its schema versions using both the subject name and its context. This avoids ambiguity when the same subject name exists in multiple contexts.

Console surfaces Schema Registry mode and compatibility settings and, where supported, lets you adjust them at:

* Global level (entire registry)
* Subject level (within a specific context)

This lets you apply safe defaults globally while fine-tuning behavior for individual subjects in specific contexts.

=== Automatic feature detection

Console automatically detects whether Schema Registry contexts are available:

* If contexts are supported, Console shows context-aware UI and uses context-specific APIs.
* If contexts are not supported, Console falls back to a standard non-context view, so you can continue working with schemas without errors.

== Suggested reading

ifndef::env-cloud[]
* xref:console:config/deserialization.adoc[]
endif::[]
* xref:manage:schema-reg/schema-reg-overview.adoc[]
* xref:manage:schema-reg/schema-reg-contexts.adoc[]

// end::single-source[]
// end::single-source[]
6 changes: 6 additions & 0 deletions modules/get-started/pages/release-notes/redpanda.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,12 @@ Key characteristics:

See xref:manage:cluster-maintenance/continuous-data-balancing.adoc[] for configuration details.

== Schema Registry contexts

xref:manage:schema-reg/schema-reg-contexts.adoc[Schema Registry contexts] are namespaces that isolate schemas, subjects, and configurations within a single Schema Registry instance. Each context maintains its own schema ID counter, mode settings, and compatibility settings, so teams can share a Schema Registry without risking naming collisions or configuration drift.

To enable contexts, set xref:reference:properties/cluster-properties.adoc#schema_registry_enable_qualified_subjects[`schema_registry_enable_qualified_subjects`] to `true` and restart your brokers. Once enabled, you reference schemas using qualified subject syntax, for example `:.staging:my-topic-value`. See xref:manage:schema-reg/schema-reg-contexts.adoc[] for configuration examples and limitations.

== New configuration properties

**Storage mode:**
Expand Down
45 changes: 45 additions & 0 deletions modules/manage/pages/schema-reg/schema-reg-api.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -240,6 +240,49 @@ Curl::

When you register an evolved schema for an existing subject, the version `id` is incremented by 1.

== Use Schema Registry contexts

Starting in Redpanda v26.1, you can use contexts to create isolated namespaces for schemas, subjects, and configuration within a single Schema Registry instance.

ifndef::env-cloud[]
To use contexts, first set the `schema_registry_enable_qualified_subjects` cluster configuration property to `true`, then restart the broker. See xref:manage:schema-reg/schema-reg-contexts.adoc[] for setup instructions.
endif::env-cloud[]
ifdef::env-cloud[]
To use contexts on BYOC and Dedicated clusters, xref:manage:cluster-maintenance/config-cluster.adoc[configure the cluster property] `schema_registry_enable_qualified_subjects`. See xref:manage:schema-reg/schema-reg-contexts.adoc[] for details.
endif::env-cloud[]

Contexts are created implicitly when you register a schema using a context-qualified subject. For example, registering a schema with the subject `:.staging:sensor-value` creates the `.staging` context if it does not already exist:

[source,bash]
----
curl -s -X POST \
http://localhost:8081/subjects/:.staging:sensor-value/versions \
-H "Content-Type: application/vnd.schemaregistry.v1+json" \
-d '{"schema": "{\"type\":\"string\"}"}'
----

=== Scope API operations to a context

You can scope any Schema Registry API operation to a specific context in two ways:

* Qualified subjects: Use the `:<context>:<subject>` syntax wherever a subject is accepted. For example, to list subjects in the `.staging` context:
+
[source,bash]
----
curl -s "http://localhost:8081/subjects?subjectPrefix=:.staging:"
----

* Base URL prefix: Prefix any endpoint path with `/contexts/{context}/`. The server rewrites the request to operate within that context. This approach is recommended for non-Java SerDe clients that do not support qualified subject syntax:
+
[source,bash]
----
curl -s http://localhost:8081/contexts/.staging/subjects
----
Comment on lines +275 to +280
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So remove the entire point about the base URL prefix?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@trevpanda @mattschumpert what do you think?

We need to either remove it or call out that it's not yet supported. But from slack I vaguely recall a policy that we don't document future features, so I am leaning removing this for now, yes.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, we should remove until we support


Unqualified subjects continue to work and operate in the default context.

For the complete endpoint reference, see the link:/api/doc/schema-registry/[Schema Registry API reference].

== Retrieve a schema

To retrieve a registered schema from the registry, make a GET request to the `/schemas/ids/\{id}` endpoint:
Expand Down Expand Up @@ -1188,6 +1231,7 @@ endif::[]
== Suggested reading
ifndef::env-cloud[]
* xref:manage:schema-reg/schema-reg-overview.adoc[]
* xref:manage:schema-reg/schema-reg-contexts.adoc[]
* xref:reference:rpk/rpk-registry/rpk-registry.adoc[rpk registry]
* link:/api/doc/schema-registry/[Schema Registry API]
* xref:reference:node-configuration-sample.adoc[] (search for `schema_registry`)
Expand All @@ -1197,6 +1241,7 @@ ifndef::env-cloud[]
endif::[]
ifdef::env-cloud[]
* xref:manage:schema-reg/schema-reg-overview.adoc[]
* xref:manage:schema-reg/schema-reg-contexts.adoc[]
* xref:reference:rpk/rpk-registry/rpk-registry.adoc[rpk registry]
* link:/api/doc/schema-registry/[Schema Registry API]
* xref:manage:monitoring.adoc#service-level-queries[Monitor Schema Registry service-level metrics]
Expand Down
Loading
Loading