Skip to content

Doc-1996: Schema Registry Contexts#1658

Open
Feediver1 wants to merge 39 commits intomainfrom
Feediver1-patch-7
Open

Doc-1996: Schema Registry Contexts#1658
Feediver1 wants to merge 39 commits intomainfrom
Feediver1-patch-7

Conversation

@Feediver1
Copy link
Copy Markdown
Contributor

@Feediver1 Feediver1 commented Apr 6, 2026

Resolves https://redpandadata.atlassian.net/browse/DOC-1996

Description

Review deadline:

Page previews

Schema Registry Contexts

See the RP Cloud version here: redpanda-data/cloud-docs#551

Schema Registry contexts (in Console)

Checks

  • [x ] New feature
  • Content gap
  • Support Follow-up
  • Small fix (typos, links, copyedits, etc)

@Feediver1 Feediver1 requested a review from a team as a code owner April 6, 2026 20:25
@netlify
Copy link
Copy Markdown

netlify Bot commented Apr 6, 2026

Deploy Preview for redpanda-docs-preview ready!

Name Link
🔨 Latest commit 22a29ca
🔍 Latest deploy log https://app.netlify.com/projects/redpanda-docs-preview/deploys/69e8fac451bebe000813d4d6
😎 Deploy Preview https://deploy-preview-1658--redpanda-docs-preview.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 6, 2026

📝 Walkthrough

Walkthrough

A new documentation page for Schema Registry contexts was added to the Redpanda documentation. The page explains contexts as isolated namespaces for organizing schemas and subjects, including qualified subject syntax, fallback resolution order for configuration settings (subject → context → global → built-in defaults), schema reference resolution, enablement via cluster properties with version-specific defaults, configuration at context and subject scopes, HTTP endpoints, rpk command usage patterns, ACL behavior with resource types and prefix grants, updated metrics with context labels, upgrade considerations when enabling qualified subjects, and troubleshooting guidance.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Suggested reviewers

  • sago2k8
  • andresaristizabal
  • r-vasquez
  • micheleRP
  • JakeSCahill
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically identifies the main change: adding Schema Registry Contexts documentation, matching the PR's primary objective.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description check ✅ Passed The PR description includes the required JIRA ticket link, page preview, and appropriate checkbox selection, but the review deadline field is left blank and no version path is specified in the preview URL structure.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch Feediver1-patch-7

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (1)
modules/manage/pages/schema-reg/schema-reg-contexts.adoc (1)

374-383: Use auto-title xrefs instead of hard-coded link text

Prefer xref:...[] with empty brackets so link labels stay in sync with target page titles and reduce maintenance drift.

Based on learnings: “AsciiDoc linking: prefer using xref links with empty brackets (e.g., xref:section/target.adoc[]) … Avoid hard-coding link text.”

Also applies to: 572-581

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@modules/manage/pages/schema-reg/schema-reg-contexts.adoc` around lines 374 -
383, Replace each hard-coded xref label in the listed links (e.g.,
xref:reference:rpk/rpk-registry/rpk-registry-schema-create.adoc[rpk registry
schema create],
xref:reference:rpk/rpk-registry/rpk-registry-schema-list.adoc[rpk registry
schema list], xref:reference:rpk/rpk-registry/rpk-registry-schema-get.adoc[rpk
registry schema get],
xref:reference:rpk/rpk-registry/rpk-registry-schema-check-compatibility.adoc[rpk
registry schema check-compatibility],
xref:reference:rpk/rpk-registry/rpk-registry-compatibility-level-get.adoc[rpk
registry compatibility-level get],
xref:reference:rpk/rpk-registry/rpk-registry-compatibility-level-set.adoc[rpk
registry compatibility-level set],
xref:reference:rpk/rpk-registry/rpk-registry-mode-get.adoc[rpk registry mode
get], xref:reference:rpk/rpk-registry/rpk-registry-mode-set.adoc[rpk registry
mode set], xref:reference:rpk/rpk-registry/rpk-registry-subject-delete.adoc[rpk
registry subject delete],
xref:reference:rpk/rpk-registry/rpk-registry-subject-list.adoc[rpk registry
subject list]) to use empty-bracket auto-title xrefs (e.g.,
xref:reference:rpk/rpk-registry/rpk-registry-schema-create.adoc[]) so the link
labels derive from the target page titles; apply the same change to the other
similar block referenced in the comment (lines 572-581).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@modules/manage/pages/schema-reg/schema-reg-contexts.adoc`:
- Line 1: The page "Schema Registry Contexts"
(modules/manage/pages/schema-reg/schema-reg-contexts.adoc) is not linked in the
Site nav; update the navigation by adding a new entry under the existing "Schema
Registry" tree in modules/ROOT/nav.adoc that points to this page (use the same
title "Schema Registry Contexts" or a consistent label) so the page appears in
the sidebar; ensure the new nav item is placed within the Schema Registry
section block and follows the surrounding nav entry formatting and ordering.
- Around line 41-49: The docs disagree about the default for
schema_registry_enable_qualified_subjects (26.1 false vs 26.2 true) — update the
schema-reg-contexts.adoc text and the cluster-properties reference so they
consistently show versioned defaults or explicitly state the version scope;
specifically, change the paragraph that mentions "defaults to false in 26.1 and
true in 26.2" to match the authoritative source (cluster-properties) or add a
clear version note indicating the default per version, and apply the same
clarification to the duplicate mention around lines 303–305 so both places
consistently reference schema_registry_enable_qualified_subjects with the same
versioned guidance.

---

Nitpick comments:
In `@modules/manage/pages/schema-reg/schema-reg-contexts.adoc`:
- Around line 374-383: Replace each hard-coded xref label in the listed links
(e.g., xref:reference:rpk/rpk-registry/rpk-registry-schema-create.adoc[rpk
registry schema create],
xref:reference:rpk/rpk-registry/rpk-registry-schema-list.adoc[rpk registry
schema list], xref:reference:rpk/rpk-registry/rpk-registry-schema-get.adoc[rpk
registry schema get],
xref:reference:rpk/rpk-registry/rpk-registry-schema-check-compatibility.adoc[rpk
registry schema check-compatibility],
xref:reference:rpk/rpk-registry/rpk-registry-compatibility-level-get.adoc[rpk
registry compatibility-level get],
xref:reference:rpk/rpk-registry/rpk-registry-compatibility-level-set.adoc[rpk
registry compatibility-level set],
xref:reference:rpk/rpk-registry/rpk-registry-mode-get.adoc[rpk registry mode
get], xref:reference:rpk/rpk-registry/rpk-registry-mode-set.adoc[rpk registry
mode set], xref:reference:rpk/rpk-registry/rpk-registry-subject-delete.adoc[rpk
registry subject delete],
xref:reference:rpk/rpk-registry/rpk-registry-subject-list.adoc[rpk registry
subject list]) to use empty-bracket auto-title xrefs (e.g.,
xref:reference:rpk/rpk-registry/rpk-registry-schema-create.adoc[]) so the link
labels derive from the target page titles; apply the same change to the other
similar block referenced in the comment (lines 572-581).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: c449cefb-0206-4296-8e68-0242ce9e07b5

📥 Commits

Reviewing files that changed from the base of the PR and between c4f9842 and 3c19d16.

📒 Files selected for processing (1)
  • modules/manage/pages/schema-reg/schema-reg-contexts.adoc

Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
@Feediver1 Feediver1 marked this pull request as draft April 6, 2026 20:44
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Co-authored-by: Joyce Fee <102751339+Feediver1@users.noreply.github.com>
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc
Co-authored-by: Joyce Fee <102751339+Feediver1@users.noreply.github.com>
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Co-authored-by: Joyce Fee <102751339+Feediver1@users.noreply.github.com>
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated

* *Multi-team deployments on a shared cluster*: Teams can register schemas independently under their own contexts without risking naming collisions or configuration drift.
* *Schema migration from Confluent Schema Registry*: Confluent Schema Registry uses contexts to namespace schemas. If your existing workflows or tooling rely on contexts, Redpanda's compatible implementation lets you migrate without restructuring your schema layout.
* *Multi-cluster schema syncing and disaster recovery*: Dedicated namespaces reduce schema ID collision risk when syncing schemas across clusters.
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.

@mattschumpert @trevpanda what do you think about the framing of this last bullet point? While it's true that we contexts enable this, and this is one of the main motivators for using contexts, our redpanda tooling (shadow linking, and I believe RPCN as well) doesn't yet support syncing into specific contexts.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

@pgellert but IIUC IT does support syncing in this way if all of the multiple source clusters were already each using contexts and fanning into a single DR cluster with Shadowing. So the story could be better, but I think it holds?

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.

You're right in that what we do support is single redpanda cluster /w contexts -> single redpanda cluster /w contexts shadowing (since we're still just replicating the schemas topic as is).

IT does support syncing in this way if all of the multiple source clusters were already each using contexts and fanning into a single DR cluster with Shadowing

But I think what you're describing here is essentially hub-and-spoke/cluster fan-in with contexts which we don't yet have: https://redpanda.aha.io/features/E-211

I'm unsure if RPCN has a sync from cluster A context X -> cluster B context Y feature at this point. I vaguely recall that being on the table, but I'm not sure if that's implemented or not.

Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
== Limitations

* *Console and rpk*: Native support for context management operations (listing, creating, and deleting contexts) in the Redpanda Console UI and `rpk` CLI is not available. Use the Schema Registry HTTP API directly. See <<client-integration-status>>.
* *Non-Java SerDe clients*: Non-Java serializer/deserializer clients do not natively support qualified subjects. Instead, point these clients at the `/contexts/{context}/...` base URL path prefix. See <<client-integration-status>>.
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.

point these clients at the /contexts/{context}/...

These API handlers are still work-in-progress tracked by this PR: redpanda-data/redpanda#30189 and this EPIC: https://redpandadata.atlassian.net/browse/ENG-1036

So I think perhaps we should call non-java serde clients unsupported for now and update this after ENG-1036 ship (it already has docs required on the epic).

Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Comment on lines +231 to +236
You can also list subjects within a context using the `/contexts/{context}/subjects` path:

[source,bash]
----
curl -s http://localhost:8081/contexts/.staging/subjects
----
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.

Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Comment on lines +275 to +280
* 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
----
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

@pgellert pgellert requested a review from c-julin April 22, 2026 12:01
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Co-authored-by: Gellért Peresztegi-Nagy <pereszteginagy.gellert@gmail.com>
Co-authored-by: Joyce Fee <102751339+Feediver1@users.noreply.github.com>
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Co-authored-by: Joyce Fee <102751339+Feediver1@users.noreply.github.com>
Comment thread modules/console/pages/ui/schema-reg.adoc Outdated
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Co-authored-by: Joyce Fee <102751339+Feediver1@users.noreply.github.com>
Comment thread modules/manage/pages/schema-reg/schema-reg-contexts.adoc Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants