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)
📝 Coding Plan
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 |
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