Conversation
First draft
✅ Deploy Preview for redpanda-docs-preview ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
📝 WalkthroughWalkthroughA 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
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
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 textPrefer
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
📒 Files selected for processing (1)
modules/manage/pages/schema-reg/schema-reg-contexts.adoc
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>
|
|
||
| * *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. |
There was a problem hiding this comment.
@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.
There was a problem hiding this comment.
@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?
There was a problem hiding this comment.
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.
| == 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>>. |
There was a problem hiding this comment.
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).
| You can also list subjects within a context using the `/contexts/{context}/subjects` path: | ||
|
|
||
| [source,bash] | ||
| ---- | ||
| curl -s http://localhost:8081/contexts/.staging/subjects | ||
| ---- |
There was a problem hiding this comment.
This is still WIP, as per https://github.com/redpanda-data/docs/pull/1658/changes#r3123466186
| * 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 | ||
| ---- |
There was a problem hiding this comment.
This is still WIP, as per https://github.com/redpanda-data/docs/pull/1658/changes#r3123466186
There was a problem hiding this comment.
So remove the entire point about the base URL prefix?
There was a problem hiding this comment.
@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.
There was a problem hiding this comment.
Yes, we should remove until we support
Co-authored-by: Gellért Peresztegi-Nagy <pereszteginagy.gellert@gmail.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>
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