Skip to content

Doc-1996: Schema Registry Contexts#1658

Draft
Feediver1 wants to merge 7 commits intomainfrom
Feediver1-patch-7
Draft

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

Conversation

@Feediver1
Copy link
Copy Markdown
Contributor

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

Description

Review deadline:

Page previews

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 b8de5b2
🔍 Latest deploy log https://app.netlify.com/projects/redpanda-docs-preview/deploys/69d7d80242419500083feb60
😎 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

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 6af52f1a-e889-404c-9b9d-e8d18368efbd

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 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.
Description check ✅ Passed The description follows the template structure with JIRA ticket reference and feature checkbox selected, though the review deadline and page preview link are not provided.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing Touches
🧪 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

@Feediver1 Feediver1 marked this pull request as draft April 6, 2026 20:44
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Joyce Fee <102751339+Feediver1@users.noreply.github.com>
Co-authored-by: Joyce Fee <102751339+Feediver1@users.noreply.github.com>
Co-authored-by: Joyce Fee <102751339+Feediver1@users.noreply.github.com>
Co-authored-by: Joyce Fee <102751339+Feediver1@users.noreply.github.com>

*Cause*: This is a known limitation of the `referencedby` endpoint. It returns bare schema IDs with no context metadata. When references span contexts, the returned IDs are ambiguous.

*Resolution*: There is no workaround in 26.1. To identify which schema an ID belongs to, try resolving the ID against each relevant context using `GET /schemas/ids/{id}?subject=:<context>:<subject>`.
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.

Suggested change
*Resolution*: There is no workaround in 26.1. To identify which schema an ID belongs to, try resolving the ID against each relevant context using `GET /schemas/ids/{id}?subject=:<context>:<subject>`.
*Resolution*: There is no workaround. To identify which schema an ID belongs to, try resolving the ID against each relevant context using `GET /schemas/ids/{id}?subject=:<context>:<subject>`.

ifndef::env-cloud[]
[NOTE]
====
In 26.1, `schema_registry_enable_qualified_subjects` defaults to `false`. You must explicitly enable it. In 26.2, the default changes to `true`. In 26.3, the property is removed and contexts are always enabled.
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.

Suggested change
In 26.1, `schema_registry_enable_qualified_subjects` defaults to `false`. You must explicitly enable it. In 26.2, the default changes to `true`. In 26.3, the property is removed and contexts are always enabled.
The `schema_registry_enable_qualified_subjects` property defaults to `false`. You must explicitly enable it.

Comment on lines +366 to +368
| Default (26.1) | `false`
| Default (26.2) | `true`
| Removed in | 26.3 (always enabled)
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.

Suggested change
| Default (26.1) | `false`
| Default (26.2) | `true`
| Removed in | 26.3 (always enabled)
| Default (v26.1) | `false`


If affected subjects are found, rename them before enabling the property, or plan to re-register them under the reinterpreted context structure after enabling.

In 26.2, if you need additional time to migrate, you can temporarily set `schema_registry_enable_qualified_subjects` to `false` to restore literal behavior while you complete the migration. This option is removed in 26.3, after which contexts are always enabled.
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.

Suggested change
In 26.2, if you need additional time to migrate, you can temporarily set `schema_registry_enable_qualified_subjects` to `false` to restore literal behavior while you complete the migration. This option is removed in 26.3, after which contexts are always enabled.

Comment on lines +66 to +68
ifndef::env-cloud[]
NOTE: No enterprise license is required to use contexts.
endif::env-cloud[]
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.

Suggested change
ifndef::env-cloud[]
NOTE: No enterprise license is required to use contexts.
endif::env-cloud[]

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.

1 participant