Skip to content

Conversation

@micheleRP
Copy link
Contributor

@micheleRP micheleRP commented Apr 29, 2025

Description

This pull request adds rpk cluster config for configuring cluster properties. It also updates the What's New blurb to add rpk and removes rpk cluster config from the list of unsupported commands in Cloud.

Clarifications on unsupported features:

Enhancements to cluster configuration documentation:

Resolves https://redpandadata.atlassian.net/browse/DOC-1283
Review deadline:

Page previews

Configure Cluster Properties
Redpanda Cloud vs Self-Managed feature compatibility
What's New

Checks

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

Summary by CodeRabbit

  • Documentation
    • Clarified and restructured instructions for configuring Redpanda cluster properties, including a new tabbed interface for CLI and API methods.
    • Expanded step-by-step guidance for setting properties using both the rpk CLI and the Cloud API, with detailed examples and operational notes.
    • Updated documentation to indicate that certain cluster properties can now be configured using the rpk CLI in addition to the Cloud API.
    • Adjusted the list of unsupported rpk commands in Redpanda Cloud, removing rpk cluster config from the unsupported list.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Apr 29, 2025

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.

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

📝 Walkthrough

Walkthrough

The documentation for configuring Redpanda cluster properties was updated to provide clearer, more detailed instructions. The introduction was revised, and a new tabbed section was added to separate guidance for using the rpk CLI and the Cloud API. The Cloud API instructions were expanded with step-by-step procedures, including authentication and polling for asynchronous operation completion. The document now also addresses operational steps like restarting brokers after configuration changes and references additional resources for further reading.

Changes

File(s) Change Summary
modules/manage/pages/cluster-maintenance/config-cluster.adoc Revised and expanded documentation: clarified introduction, added tabbed CLI/API instructions, detailed Cloud API steps, reorganized notes, and updated references.
modules/get-started/pages/cloud-overview.adoc Removed statement that rpk cluster config is unsupported in Redpanda Cloud, reflecting updated support status.
modules/get-started/pages/whats-new-cloud.adoc Added mention that cluster properties can now be configured via rpk CLI in addition to Cloud API.

Assessment against linked issues

Objective Addressed Explanation
Add rpk cluster config as an option in config-cluster.adoc (DOC-1283)

Suggested reviewers

  • kbatuigas

Poem

In the warren of docs, we hop and revise,
With tabs for the CLI and Cloud in disguise.
Step-by-step guidance, examples anew,
Restart your cluster—know just what to do!
With every instruction, we’re clearer and bright,
So Redpanda clusters can run just right.
🐇✨


🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@netlify
Copy link

netlify bot commented Apr 29, 2025

Deploy Preview for rp-cloud ready!

Name Link
🔨 Latest commit 308d62b
🔍 Latest deploy log https://app.netlify.com/sites/rp-cloud/deploys/6811525c3542470008dcf583
😎 Deploy Preview https://deploy-preview-278--rp-cloud.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 site configuration.

@micheleRP micheleRP marked this pull request as ready for review April 29, 2025 02:29
@micheleRP micheleRP requested a review from a team as a code owner April 29, 2025 02:29
Copy link
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: 0

🧹 Nitpick comments (6)
modules/manage/pages/cluster-maintenance/config-cluster.adoc (6)

4-6: Refine introductory sentence for clarity
Current phrasing "are automatically set to the default values and are replicated across all brokers" is a bit wordy. Consider simplifying to improve readability.

Apply this diff:

- Redpanda cluster configuration properties are automatically set to the default values and are replicated across all brokers. With cluster properties, you can enable and manage certain features, like xref:manage:iceberg/about-iceberg-topics.adoc[Iceberg topics], xref:develop:data-transforms/index.adoc[data transforms], and xref:manage:audit-logging.adoc[audit logging]. 
+ Cluster configuration properties are set to their default values and automatically replicated across all brokers. You can use them to enable and manage features such as xref:manage:iceberg/about-iceberg-topics.adoc[Iceberg topics], xref:develop:data-transforms/index.adoc[data transforms], and xref:manage:audit-logging.adoc[audit logging].

15-18: Unify heading and layout consistency
The document title is "Configure Cluster Properties", but this section is titled "Set cluster configuration properties". For consistency, consider renaming it to "Configure cluster properties". Also ensure there’s a blank line after the heading before the tabs block.


31-31: Clarify restart phrasing
The sentence "Some properties require a cluster restart for updates to take effect." could be tightened. Consider:

Some changes require a cluster restart to take effect.

57-61: Use modern command substitution and flag formatting
To improve readability, use $(...) for command substitution and standardize header flags. For example:

-export RP_CLOUD_TOKEN=`curl -X POST "https://auth.prd.cloud.redpanda.com/oauth/token" \
+export RP_CLOUD_TOKEN=$(curl -X POST "https://auth.prd.cloud.redpanda.com/oauth/token" \
     -H "Content-Type: application/x-www-form-urlencoded" \
     -d "grant_type=client_credentials" \
     -d "client_id=<client-id>" \
     -d "client_secret=<client-secret>")

63-69: Align cURL flags for readability
The curl snippet has inconsistent indentation and flag order. Consider:

-curl -H "Authorization: Bearer ${RP_CLOUD_TOKEN}" -X PATCH \
-  "https://api.cloud.redpanda.com/v1/clusters/${RP_CLUSTER_ID}" \
- -H 'accept: application/json'\
- -H 'content-type: application/json' \
- -d '{"cluster_configuration":{"custom_properties": {"data_transforms_enabled":true}}}'
+curl \
+  -X PATCH "https://api.cloud.redpanda.com/v1/clusters/${RP_CLUSTER_ID}" \
+  -H "Authorization: Bearer ${RP_CLOUD_TOKEN}" \
+  -H "Accept: application/json" \
+  -H "Content-Type: application/json" \
+  -d '{"cluster_configuration":{"custom_properties":{"data_transforms_enabled":true}}}'

80-80: Add a descriptive label to the cross-reference
Using an empty bracket will default to the filename. To improve clarity, add a label:

* xref:manage:rpk/intro-to-rpk.adoc[Intro to RPK]
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1ffac11 and 18289a7.

📒 Files selected for processing (1)
  • modules/manage/pages/cluster-maintenance/config-cluster.adoc (1 hunks)
🔇 Additional comments (4)
modules/manage/pages/cluster-maintenance/config-cluster.adoc (4)

19-22: Verify Asciidoc tab syntax for the rpk tab
The use of + and -- as delimiters may not conform to Antora/AsciiDoc tab directives, which could break rendering. Please confirm in the Netlify preview that the "rpk" tab renders correctly. If not, swap -- for the standard ---- literal block marker or remove the extraneous continuation marker.


24-24: Good cross-reference for the data_transforms_enabled property
The xref link to data_transforms_enabled is accurate and clear.


39-43: Verify Asciidoc tab syntax for the Cloud API section
As with the CLI tab, the Cloud API tab uses + and -- markers. Ensure the Cloud API tab also renders correctly in preview. If not, update the delimiters (e.g., use ---- for literal blocks) or adjust the continuation marker.

Also applies to: 75-75


49-49: Clear example introduction
The phrase "For example, to set ..." is consistent with the CLI tab and provides a clear lead-in to the code snippet.

@simon0191 simon0191 requested a review from alenkacz April 29, 2025 16:48
[source,bash]
----
# Store your cluster ID in a variable
Copy link
Contributor

Choose a reason for hiding this comment

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

Should this be an ordered list rather than # comments?

Copy link
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: 0

🧹 Nitpick comments (2)
modules/manage/pages/cluster-maintenance/config-cluster.adoc (2)

47-58: Consider modernizing command substitution
You’re using backticks to capture the token. For improved readability and nesting support, consider switching to $(…), e.g.:

-export RP_CLOUD_TOKEN=`curl -X POST "https://auth.prd.cloud.redpanda.com/oauth/token" ...`
+export RP_CLOUD_TOKEN=$(curl -X POST "https://auth.prd.cloud.redpanda.com/oauth/token" ...)

75-75: Add descriptive link text for the rpk guide
The current xref:manage:rpk/intro-to-rpk.adoc[] has an empty bracket. For clarity, specify a title, for example:

* xref:manage:rpk/intro-to-rpk.adoc[Introduction to rpk]
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 75c8281 and d7a09f2.

📒 Files selected for processing (1)
  • modules/manage/pages/cluster-maintenance/config-cluster.adoc (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (3)
  • GitHub Check: Redirect rules - rp-cloud
  • GitHub Check: Header rules - rp-cloud
  • GitHub Check: Pages changed - rp-cloud
🔇 Additional comments (14)
modules/manage/pages/cluster-maintenance/config-cluster.adoc (14)

4-4: Good clarification of cluster configuration properties
This introduction clearly explains how default properties are managed and replicates across brokers, and it highlights key features users can enable.


6-6: Helpful cross-reference to full property list
Linking to the complete set of cluster properties in Redpanda Cloud is a great way to direct users to detailed documentation.


10-10: Clear statement of supported platforms
The “Limitations” section now succinctly identifies where cluster configuration is supported, which will help readers quickly assess applicability.


15-15: Section header correctly introduces configuration methods
The new “Set cluster configuration properties” heading clearly marks the switch from overview to actionable instructions.


17-17: Nicely emphasizes both CLI and API options
Stating up front that users can choose rpk or the Cloud API prepares them for the upcoming tabbed interface.


19-24: Tabbed interface cleanly separates rpk vs. Cloud API instructions
The AsciiDoc markup appears correct, and this layout will improve readability by offering users two distinct workflows.


26-26: Example introduction is clear
You lead into the rpk code snippet with a concise explanation of what property is being toggled.


28-31: Correct CLI example aligns with property reference
The rpk cluster config set data_transforms_enabled true command is accurate and matches the link target above.


33-33: Clarify broker restart requirement after CLI config
Does using rpk cluster config set require a manual broker restart for changes to take effect, or is it applied dynamically? Consider adding a short note to inform users.


35-39: Cloud API tab correctly formatted
The plus sign, block delimiters, and “Cloud API” label mirror the rpk tab setup—looks good.


45-45: Cloud API example introduction is clear
Leading with “For example, to set … to true:” provides a consistent transition from explanation to code.


59-66: Clear curl example for updating cluster configuration
The PATCH request demonstrates all necessary headers and payload structure; users will appreciate the real-world example.


67-67: Good explanation of long-running operation semantics
Noting the need to poll the operations endpoint makes the async behavior explicit.


70-71: Proper closure of the tabs block
The final -- and closing ====== correctly terminate the tabbed section.

Copy link
Contributor

@asimms41 asimms41 left a comment

Choose a reason for hiding this comment

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

LGTM. No blockers, just suggestions.

Copy link
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: 1

♻️ Duplicate comments (1)
modules/manage/pages/cluster-maintenance/config-cluster.adoc (1)

41-44: 🛠️ Refactor suggestion

Clarify Cloud API use case
The first bullet shows how to create a cluster, which is out of scope for configuring an existing cluster's properties. Consider removing or moving the creation step and focusing this section solely on updating cluster configuration:

-* Create a cluster by making a POST /v1/clusters request...
+* (If you need to spin up a new cluster) create one via POST /v1/clusters...
 * Update a cluster by making a PATCH /v1/clusters/{cluster.id} request...
🧹 Nitpick comments (3)
modules/manage/pages/cluster-maintenance/config-cluster.adoc (3)

24-24: Refine rpk command reference
The text Use rpk cluster config to set cluster properties. could be more precise by referencing the set subcommand, e.g.:

-Use `rpk cluster config` to set cluster properties.
+Use the `rpk cluster config set` command to modify cluster properties.

53-57: Prefer modern command substitution
Using backticks for command substitution can be less readable and harder to nest. Recommend switching to $(...) syntax:

-export RP_CLOUD_TOKEN=`curl -X POST "https://auth.prd.cloud.redpanda.com/oauth/token" \
-    -H "content-type: application/x-www-form-urlencoded" \
-    -d "grant_type=client_credentials" \
-    -d "client_id=<client-id>" \
-    -d "client_secret=<client-secret>"`
+export RP_CLOUD_TOKEN=$(curl -X POST "https://auth.prd.cloud.redpanda.com/oauth/token" \
+    -H "content-type: application/x-www-form-urlencoded" \
+    -d "grant_type=client_credentials" \
+    -d "client_id=<client-id>" \
+    -d "client_secret=<client-secret>")

75-75: Add a link text for the intro-to-rpk reference
The link xref:manage:rpk/intro-to-rpk.adoc[] has an empty title. Consider adding descriptive text inside the brackets, e.g.:

-* xref:manage:rpk/intro-to-rpk.adoc[]
+* xref:manage:rpk/intro-to-rpk.adoc[Introduction to rpk]
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d7a09f2 and ec146fb.

📒 Files selected for processing (1)
  • modules/manage/pages/cluster-maintenance/config-cluster.adoc (1 hunks)
🔇 Additional comments (7)
modules/manage/pages/cluster-maintenance/config-cluster.adoc (7)

4-4: Approve introduction clarity
The updated sentence concisely describes default values and replication behavior, and the feature links are clear.


10-10: Approve supported platforms clarification
The rephrased "Cluster configuration is supported on BYOC and Dedicated clusters running on AWS and GCP." is clear and accurate.


17-17: Approve introduction to configuration methods
The sentence succinctly introduces both rpk and the Cloud API as options for setting cluster properties.


26-26: Approve rpk example introduction
The example clearly shows how to enable data_transforms_enabled via rpk.


33-33: Approve note on operation ID and timing
The NOTE: admonition correctly informs users about the operation ID and potential delay.


45-45: Approve Cloud API example introduction
The preamble for the Cloud API example is clear and correctly references the data_transforms_enabled property.


67-67: Verify the operations endpoint path
The text references GET /operations/{id}, but the prefix /v1 is omitted and the braces are escaped. Confirm whether it should be /v1/operations/{id} for consistency with earlier API calls.

Comment on lines +22 to +23
+
--
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Remove stray + delimiter lines
Lines containing just + appear to be artifacts and will render incorrectly in Asciidoc. Remove these lines so the tab definitions aren't broken.

Example diff:

- +
- +

Committable suggestion skipped: line range outside the PR's diff.

Copy link
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: 1

🧹 Nitpick comments (4)
modules/manage/pages/cluster-maintenance/config-cluster.adoc (4)

15-17: Ensure heading style consistency
The heading “Set cluster configuration properties” is in sentence case, whereas other headings (e.g., “Configure Cluster Properties”) use title case. Consider updating to title case (“Set Cluster Configuration Properties”) to maintain a consistent style throughout the document.


24-24: Link the rpk cluster config command to CLI reference
Consider adding a cross-reference to the detailed rpk CLI documentation (for example, xref:manage:rpk/intro-to-rpk.adoc[Intro to rpk]) or noting flags like --brokers/--cluster-id to guide users on targeting the intended cluster context.


33-33: Convert inline note into standard AsciiDoc admonition
To improve consistency, replace the inline NOTE: with an AsciiDoc admonition block:

[NOTE]
====
The `rpk cluster config set` command returns the operation ID. Cluster configuration operations can take up to ten minutes to complete.
====

This will render a proper “Note” box rather than plain text.


39-39: Clarify the Cloud API workflow sequence
The Cloud API section begins with “Use the Cloud API to set cluster properties:” but the first step instructs creating a cluster. Since this page is focused on configuring an existing cluster, consider moving the “Create a cluster” bullet to its own section or reordering to lead with the update/PATCH workflow.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d7a09f2 and ec146fb.

📒 Files selected for processing (1)
  • modules/manage/pages/cluster-maintenance/config-cluster.adoc (1 hunks)
🔇 Additional comments (3)
modules/manage/pages/cluster-maintenance/config-cluster.adoc (3)

4-4: Good: Clarify default behavior and cross-broker replication
The new intro clearly states default cluster property behavior and cross-broker replication, with helpful cross-references to Iceberg topics, data transforms, and audit logging.


10-10: Verify supported platforms apply to both methods
The limitations now state support for BYOC and Dedicated clusters on AWS and GCP; please confirm this applies equally to both the rpk CLI and Cloud API methods, and clarify if necessary (e.g., add “via CLI or Cloud API” for consistency).


45-45: Example description is clear
The example correctly shows how to set data_transforms_enabled to true, and the cross-reference to the property is accurate.

@micheleRP micheleRP requested a review from mattschumpert April 29, 2025 21:12
@micheleRP micheleRP merged commit a94bb9f into main Apr 29, 2025
6 checks passed
@micheleRP micheleRP deleted the DOC-1283-add-rpk-to-config-cluster.adoc branch April 29, 2025 22:32
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