feat(DOC-1942): document delete_topic_enable enterprise feature#1610
feat(DOC-1942): document delete_topic_enable enterprise feature#1610
Conversation
Updates property partials and JSON for v25.3.10: - Adds "Introduced in v25.3.10" note to schema_registry_avro_use_named_references - Adds 34 new cloud_topics topic properties - Updates property-overrides.json with new property stubs - Cleans up old diff JSON files Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds documentation for the new `delete_topic_enable` cluster property (available in dev, targeting next major release): - Adds property override with description and related_topics - Adds Topic Deletion Control entry to the enterprise features table in the licensing overview The property defaults to `true` (backward compatible). Setting it to `false` prevents all topic deletion via the Kafka DeleteTopics API, including for superusers, and requires an enterprise license. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
✅ Deploy Preview for redpanda-docs-preview ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughThis PR updates Redpanda documentation for the v25.3.10 release by adding extensive new configuration properties. Changes include: adding 40+ new property overrides to the property-overrides.json file; removing two historical changelog files (v25.3.1-to-v25.3.3 and v25.3.9-to-v25.3.10); adding "Topic Deletion Control" to the enterprise features documentation; extending the v25.3.10 properties reference file with 481 new lines of property definitions; adding a version note to cluster properties documentation; and significantly expanding topic properties documentation with ~1,095 new lines covering cloud storage, cloud topics reconciliation, schema registry, and storage mode configurations. Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
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 unit tests (beta)
Warning Review ran into problems🔥 ProblemsGit: Failed to clone repository. Please run the Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 4
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
modules/reference/partials/properties/topic-properties.adoc (2)
1122-1155:⚠️ Potential issue | 🟠 Major
delete_topic_enablemetadata is inconsistent with the PR’s stated behavior.At Line 1133 and Line 1143, this property is documented as
stringwith defaultnull, but the PR objective describes a boolean cluster property with defaulttrue. It’s also appearing under topic properties, which conflicts with the “cluster property” scope.Please correct this in the property source/overrides and regenerate docs so the rendered reference matches product behavior.
Based on learnings, "Never directly edit files in
/modules/reference/partials/properties/- they are auto-generated and will be overwritten" and "Update/docs-data/property-overrides.jsonto make changes to property documentation - this is the file that drives auto-generation of property reference pages".🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@modules/reference/partials/properties/topic-properties.adoc` around lines 1122 - 1155, The metadata for delete_topic_enable is wrong in the generated partials: update the property override for "delete_topic_enable" in docs-data/property-overrides.json to mark its type as boolean, default true, scope as cluster (not topic), nullable as No (and any restore-related flags as appropriate), then regenerate the reference docs so the auto-generated file in modules/reference/partials/properties reflects the correct boolean cluster property and default value; look for the "delete_topic_enable" entry in property-overrides.json and change its "type", "default", and "scope"/"category" fields accordingly before running the docs generation.
2609-2612:⚠️ Potential issue | 🟡 MinorSelf-referential alias text is incorrect.
Line 2611 says
redpanda.value.subject.name.strategyis an alias for itself, which is not meaningful. Please replace with the correct alias target (or remove the alias sentence).🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@modules/reference/partials/properties/topic-properties.adoc` around lines 2609 - 2612, The doc currently states that redpanda.value.subject.name.strategy is a compatibility alias for itself; change the alias sentence so it refers to the other setting instead — update the sentence under the redpanda.value.subject.name.strategy section to say it is a compatibility alias for confluent.value.subject.name.strategy (or remove the alias sentence entirely if that mapping is incorrect), ensuring the symbols redpanda.value.subject.name.strategy and confluent.value.subject.name.strategy are used to identify the correct settings.
🤖 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/reference/attachments/redpanda-properties-v25.3.10.json`:
- Around line 5375-5389: The entry for the configuration key
default_redpanda_storage_mode is incorrectly marked as a topic property; update
its metadata (the object for "default_redpanda_storage_mode") to set
"is_topic_property": false (and remove any other topic-only flags if present) so
the cluster-side default remains a cluster property; apply the same change to
the other duplicate occurrence referenced (the entry at the other location for
default_redpanda_storage_mode).
- Around line 5477-5491: The property entry for delete_topic_enable is
incorrectly defined as a topic-scoped string placeholder; update
docs-data/property-overrides.json to make delete_topic_enable a cluster-level
boolean with "type": "boolean", "config_scope": "cluster", "default": true, an
appropriate descriptive "description" (replacing the generic placeholder), and
ensure "is_topic_property": false so the generated JSON
(redpanda-properties-*.json) picks up the correct metadata and appears on the
cluster property reference page instead of the topic page.
- Around line 3280-3311: The two properties
cloud_topics_disable_level_zero_gc_for_tests and
cloud_topics_disable_metastore_flush_loop_for_tests are test-only hooks but are
marked visibility: "user"; update their visibility to an internal/hidden value
(e.g., "internal" or "hidden") so they are not shown in user-facing docs,
leaving all other fields intact and ensuring both entries reflect the non-public
visibility.
- Around line 7556-7570: The listed properties (internal_rpc_request_timeout_ms,
oidc_group_claim_path,
partition_autobalancing_node_autodecommission_timeout_sec,
schema_registry_enable_qualified_subjects) are incorrectly marked as topic
properties; update each property's JSON object to use the correct
service/cluster scope (replace config_scope: "topic" with the appropriate
service-level value used elsewhere in this file, e.g., "broker" or "cluster")
and set is_topic_property: false; apply the same fix for the other occurrences
referenced (around lines 10276-10290, 10554-10568, 12958-12972) so these
settings are classified as service/cluster-level rather than topic-level in
generated docs.
---
Outside diff comments:
In `@modules/reference/partials/properties/topic-properties.adoc`:
- Around line 1122-1155: The metadata for delete_topic_enable is wrong in the
generated partials: update the property override for "delete_topic_enable" in
docs-data/property-overrides.json to mark its type as boolean, default true,
scope as cluster (not topic), nullable as No (and any restore-related flags as
appropriate), then regenerate the reference docs so the auto-generated file in
modules/reference/partials/properties reflects the correct boolean cluster
property and default value; look for the "delete_topic_enable" entry in
property-overrides.json and change its "type", "default", and "scope"/"category"
fields accordingly before running the docs generation.
- Around line 2609-2612: The doc currently states that
redpanda.value.subject.name.strategy is a compatibility alias for itself; change
the alias sentence so it refers to the other setting instead — update the
sentence under the redpanda.value.subject.name.strategy section to say it is a
compatibility alias for confluent.value.subject.name.strategy (or remove the
alias sentence entirely if that mapping is incorrect), ensuring the symbols
redpanda.value.subject.name.strategy and confluent.value.subject.name.strategy
are used to identify the correct settings.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: f69e91f4-b258-45fd-a3a2-665957ef3522
📒 Files selected for processing (7)
docs-data/property-overrides.jsondocs-data/redpanda-property-changes-v25.3.1-to-v25.3.3.jsondocs-data/redpanda-property-changes-v25.3.9-to-v25.3.10.jsonmodules/get-started/pages/licensing/overview.adocmodules/reference/attachments/redpanda-properties-v25.3.10.jsonmodules/reference/partials/properties/cluster-properties.adocmodules/reference/partials/properties/topic-properties.adoc
💤 Files with no reviewable changes (2)
- docs-data/redpanda-property-changes-v25.3.1-to-v25.3.3.json
- docs-data/redpanda-property-changes-v25.3.9-to-v25.3.10.json
| "cloud_topics_disable_level_zero_gc_for_tests": { | ||
| "cloud_byoc_only": false, | ||
| "cloud_editable": false, | ||
| "cloud_readonly": false, | ||
| "cloud_supported": false, | ||
| "config_scope": "topic", | ||
| "default": null, | ||
| "defined_in": "override", | ||
| "description": "Configuration property: cloud_topics_disable_level_zero_gc_for_tests", | ||
| "is_deprecated": false, | ||
| "is_topic_property": true, | ||
| "name": "cloud_topics_disable_level_zero_gc_for_tests", | ||
| "type": "string", | ||
| "version": "dev", | ||
| "visibility": "user" | ||
| }, | ||
| "cloud_topics_disable_metastore_flush_loop_for_tests": { | ||
| "cloud_byoc_only": false, | ||
| "cloud_editable": false, | ||
| "cloud_readonly": false, | ||
| "cloud_supported": false, | ||
| "config_scope": "topic", | ||
| "default": null, | ||
| "defined_in": "override", | ||
| "description": "Configuration property: cloud_topics_disable_metastore_flush_loop_for_tests", | ||
| "is_deprecated": false, | ||
| "is_topic_property": true, | ||
| "name": "cloud_topics_disable_metastore_flush_loop_for_tests", | ||
| "type": "string", | ||
| "version": "dev", | ||
| "visibility": "user" | ||
| }, |
There was a problem hiding this comment.
Keep the _for_tests switches out of user-facing docs.
The _for_tests suffix reads as internal-only, but both entries are marked visibility: "user". If these render, the public reference will advertise unsupported test hooks.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@modules/reference/attachments/redpanda-properties-v25.3.10.json` around lines
3280 - 3311, The two properties cloud_topics_disable_level_zero_gc_for_tests and
cloud_topics_disable_metastore_flush_loop_for_tests are test-only hooks but are
marked visibility: "user"; update their visibility to an internal/hidden value
(e.g., "internal" or "hidden") so they are not shown in user-facing docs,
leaving all other fields intact and ensuring both entries reflect the non-public
visibility.
| "default_redpanda_storage_mode": { | ||
| "cloud_byoc_only": false, | ||
| "cloud_editable": true, | ||
| "cloud_readonly": false, | ||
| "cloud_supported": true, | ||
| "config_scope": "topic", | ||
| "default": null, | ||
| "defined_in": "override", | ||
| "description": "Configuration property: default_redpanda_storage_mode", | ||
| "is_deprecated": false, | ||
| "is_topic_property": true, | ||
| "name": "default_redpanda_storage_mode", | ||
| "type": "string", | ||
| "version": "dev", | ||
| "visibility": "user" |
There was a problem hiding this comment.
Don't classify default_redpanda_storage_mode as another topic property.
redpanda.storage.mode is the topic-level knob. If default_redpanda_storage_mode is also emitted with is_topic_property: true, the cluster-side default loses its separate cluster-property entry.
Also applies to: 11849-11863
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@modules/reference/attachments/redpanda-properties-v25.3.10.json` around lines
5375 - 5389, The entry for the configuration key default_redpanda_storage_mode
is incorrectly marked as a topic property; update its metadata (the object for
"default_redpanda_storage_mode") to set "is_topic_property": false (and remove
any other topic-only flags if present) so the cluster-side default remains a
cluster property; apply the same change to the other duplicate occurrence
referenced (the entry at the other location for default_redpanda_storage_mode).
| "delete_topic_enable": { | ||
| "cloud_byoc_only": false, | ||
| "cloud_editable": false, | ||
| "cloud_readonly": false, | ||
| "cloud_supported": false, | ||
| "config_scope": "topic", | ||
| "default": null, | ||
| "defined_in": "override", | ||
| "description": "Configuration property: delete_topic_enable", | ||
| "is_deprecated": false, | ||
| "is_topic_property": true, | ||
| "name": "delete_topic_enable", | ||
| "type": "string", | ||
| "version": "dev", | ||
| "visibility": "user" |
There was a problem hiding this comment.
delete_topic_enable is still generated as a placeholder topic property.
The PR objectives describe this as a boolean cluster property with default true, but this entry is topic-scoped with type: "string", default: null, and only the generic placeholder description. That will publish the feature on the wrong reference page with the wrong metadata. This likely needs to be corrected in docs-data/property-overrides.json before regenerating the attachment. Based on learnings, update /docs-data/property-overrides.json to make changes to property documentation - this is the file that drives auto-generation of property reference pages.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@modules/reference/attachments/redpanda-properties-v25.3.10.json` around lines
5477 - 5491, The property entry for delete_topic_enable is incorrectly defined
as a topic-scoped string placeholder; update docs-data/property-overrides.json
to make delete_topic_enable a cluster-level boolean with "type": "boolean",
"config_scope": "cluster", "default": true, an appropriate descriptive
"description" (replacing the generic placeholder), and ensure
"is_topic_property": false so the generated JSON (redpanda-properties-*.json)
picks up the correct metadata and appears on the cluster property reference page
instead of the topic page.
| "internal_rpc_request_timeout_ms": { | ||
| "cloud_byoc_only": false, | ||
| "cloud_editable": false, | ||
| "cloud_readonly": false, | ||
| "cloud_supported": false, | ||
| "config_scope": "topic", | ||
| "default": null, | ||
| "defined_in": "override", | ||
| "description": "Configuration property: internal_rpc_request_timeout_ms", | ||
| "is_deprecated": false, | ||
| "is_topic_property": true, | ||
| "name": "internal_rpc_request_timeout_ms", | ||
| "type": "string", | ||
| "version": "dev", | ||
| "visibility": "user" |
There was a problem hiding this comment.
These service-level settings are also mis-scoped as topic properties.
internal_rpc_request_timeout_ms, oidc_group_claim_path, partition_autobalancing_node_autodecommission_timeout_sec, and schema_registry_enable_qualified_subjects are cluster/service settings, but each stub here sets config_scope: "topic" and is_topic_property: true. That will classify them as topic properties in the generated docs.
Also applies to: 10276-10290, 10554-10568, 12958-12972
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@modules/reference/attachments/redpanda-properties-v25.3.10.json` around lines
7556 - 7570, The listed properties (internal_rpc_request_timeout_ms,
oidc_group_claim_path,
partition_autobalancing_node_autodecommission_timeout_sec,
schema_registry_enable_qualified_subjects) are incorrectly marked as topic
properties; update each property's JSON object to use the correct
service/cluster scope (replace config_scope: "topic" with the appropriate
service-level value used elsewhere in this file, e.g., "broker" or "cluster")
and set is_topic_property: false; apply the same fix for the other occurrences
referenced (around lines 10276-10290, 10554-10568, 12958-12972) so these
settings are classified as service/cluster-level rather than topic-level in
generated docs.
…overview - Change "Redpanda enterprise features" heading to "Redpanda Enterprise Edition features" for consistency with product naming on the page - Fix Leader Pinning xref pointing to wrong anchor (Kerberos auth); now correctly links to develop:produce-data/leader-pinning.adoc Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…lt true Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
@coderabbitai The
|
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: Length of output: 679
✏️ Learnings added
🧠 Learnings used |
|
@dotnwat — gentle nudge on this one when you have a chance. Documents the |
Thanks for pinging. Please don't hestitate to send me messages on slack too. I get a ton github notifications |
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
micheleRP
left a comment
There was a problem hiding this comment.
Review Summary
Property automation impact
Same pattern as PR #1607. File-by-file:
| File | Auto-generated? | Should stay in PR? |
|---|---|---|
docs-data/property-overrides.json |
No — manual config | Yes — correct mechanism for documenting new properties |
modules/get-started/pages/licensing/overview.adoc |
No — manual page | Yes — safe, valuable content |
modules/reference/partials/properties/cluster-properties.adoc |
Yes — generated | No — will be overwritten; 234 added lines that are unreviewable |
modules/reference/partials/properties/object-storage-properties.adoc |
Yes — generated | No — will be overwritten |
modules/reference/partials/properties/topic-properties.adoc |
Yes — generated | No — 1017 added lines, will be overwritten |
modules/reference/attachments/redpanda-properties-v25.3.10.json |
Yes — generated | No — will be overwritten |
docs-data/redpanda-property-changes-*.json (2 deleted) |
Yes — generated | No — automation artifacts |
Recommendation: Remove the 5 auto-generated files. Keep only property-overrides.json and licensing/overview.adoc.
The "version": "dev" problem (same as PR #1607)
The delete_topic_enable override has "version": "dev", which renders as "Introduced in dev" in the generated partial (confirmed in the diff). Additionally, this PR adds ~29 other properties with "version": "dev" in the overrides. The generated partials show 29 instances of *Introduced in dev* — all will appear in published docs.
The automation will auto-update these to the correct GA version when it runs against a release that includes them. But until then, users see "Introduced in dev" which is confusing.
Conflict with PR #1607
This PR overlaps with PR #1607 on 4 files:
docs-data/property-overrides.jsondocs-data/redpanda-property-changes-v25.3.9-to-v25.3.10.jsonmodules/reference/attachments/redpanda-properties-v25.3.10.jsonmodules/reference/partials/properties/cluster-properties.adoc
Both PRs modify property-overrides.json and both include full regenerations of the same generated files. Whichever merges second will have conflicts. If the generated files are removed from both PRs (as recommended), the only real conflict would be in property-overrides.json, which should be a clean merge since they add different properties.
What should stay — review of manual content
property-overrides.json — the delete_topic_enable entry is well-structured:
"delete_topic_enable": {
"version": "dev",
"type": "boolean",
"default": true,
"description": "Controls whether topics can be deleted...",
"related_topics": [...],
"config_scope": "cluster"
}This is the right approach — description, related_topics, config_scope, type, and default are all specified. Much more complete than #1607's minimal override. Same concern about "version": "dev" though.
licensing/overview.adoc — good changes:
- Fixed section heading: "Redpanda enterprise features" → "Redpanda Enterprise Edition features"
- Fixed broken Leader Pinning xref:
manage:security/authentication.adoc#kerberos→develop:produce-data/leader-pinning.adoc(the old link pointed to Kerberos, clearly wrong) - Added Topic Deletion Control row to the enterprise features table — well-written, clear description of behavior and license expiration impact
Style notes
- The
delete_topic_enabledescription inproperty-overrides.jsonis clear and includes the cross-reference tokafka_nodelete_topics— good differentiation - The enterprise features table entry is concise and follows the existing pattern
- The Leader Pinning xref fix is a good catch (linking to Kerberos was incorrect)
Remove property partials and JSON attachments that were included by the auto-docs regen commit. Only property-overrides.json and the licensing overview page belong in this PR. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Review: Claude feedback incorporation checkChecking whether the recommendations from the Claude (micheleRP) review have been addressed. Claude Review RecommendationsThe review had 3 main recommendations plus style observations: 1. Remove the 5 auto-generated files — ✅ DoneCommit
2. The
|
| Recommendation | Status |
|---|---|
| Remove 5 auto-generated files | ✅ Done |
Address "version": "dev" rendering |
❌ Not done — delete_topic_enable and ~29 other properties still show "dev" |
| Strip bulk automation version tags (shared across 3 PRs) | ❌ Not done |
| Resolve overlap with PRs #1607 and #1611 | property-overrides.json still overlaps |
| Manual content quality | ✅ Good — no changes needed |
Note: The CodeRabbit findings about delete_topic_enable appearing in topic-properties.adoc were confirmed as false positives (the property is correctly in cluster-properties.adoc only). The generated files that contained the issues have been removed.
Summary
delete_topic_enable(in dev branch, targeting next major Redpanda release)related_topicslinks so it renders correctly when property docs are next regeneratedcloud_topicstopic properties,schema_registry_avro_use_named_referencesversion note)About
delete_topic_enable:true(backward compatible)falseprevents ALL topic deletion via the Kafka DeleteTopics API, including for superusersTOPIC_DELETION_DISABLED)falserequires an enterprise licensekafka_nodelete_topics(which protects specific topics)Test plan
/get-started/licensing/overview🤖 Generated with Claude Code