Skip to content

Conversation

JakeSCahill
Copy link
Contributor

Description

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

Note: The GA docs have already been written, submitted, and approved here: #1271

This pull request introduces documentation for the 25.2 beta release of the Redpanda Operator, highlighting its new default cluster-scoped deployment and providing instructions for testing the beta version. The changes include a new deployment guide and updated release notes to reflect the operator's new behavior and benefits.

Beta deployment documentation:

  • Added a new guide, k-25.2-beta.adoc, detailing how to install and test the Redpanda Operator v25.2.1-beta1 on Kubernetes, including prerequisites, installation steps, and notes on feedback and support.

Release notes update:

  • Updated the operator release notes to include a section for v25.2.x (beta), emphasizing the shift to cluster-scoped operation by default, its advantages (such as simplified management and centralized upgrades), and changes to RBAC handling for debug bundles.

Page previews

Checks

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

@JakeSCahill JakeSCahill requested a review from a team as a code owner August 14, 2025 11:17
Copy link

netlify bot commented Aug 14, 2025

Deploy Preview for redpanda-docs-preview ready!

Name Link
🔨 Latest commit 2a8785c
🔍 Latest deploy log https://app.netlify.com/projects/redpanda-docs-preview/deploys/68a489a5ff57c30008220c27
😎 Deploy Preview https://deploy-preview-1307--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.

Copy link
Contributor

coderabbitai bot commented Aug 14, 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

Adds a new Kubernetes deployment guide for Redpanda Operator v25.2.1-beta1 and updates Operator release notes. The deployment doc covers prerequisites (cert-manager with CRDs), Helm-based installation with placeholders for namespace and operator beta tag, verification steps, applying a Redpanda CR (including enterprise license secret variant), readiness checks, monitoring, troubleshooting link, uninstall command, and next steps. The release notes add a v25.2.x (beta) section with a changelog link and document the Operator’s default scope change to cluster scope, including implications for RBAC and cross-namespace management.

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant Helm
  participant Kubernetes
  participant Operator
  participant CRDs
  participant RedpandaCluster

  User->>Kubernetes: Install cert-manager (CRDs enabled)
  User->>Helm: Install Redpanda Operator (v25.2.x beta)
  Helm->>Kubernetes: Create operator resources (cluster-scoped)
  Kubernetes-->>User: Rollout status

  User->>Kubernetes: Apply Redpanda CR (redpanda-cluster.yaml)
  Kubernetes->>Operator: Reconcile CR
  Operator->>CRDs: Manage Redpanda resources
  Operator->>RedpandaCluster: Create/Update StatefulSet, Services, etc.
  RedpandaCluster-->>User: Pods ready
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Assessment against linked issues

Objective Addressed Explanation
Provide a one-pager for users to discover the 25.2 Operator/Helm beta and how to deploy it (DOC-1611)
Add an entry in the release notes listing features included in the 25.2 beta (DOC-1611)

Possibly related PRs

Suggested reviewers

  • paulohtb6
  • david-yu
  • chrisseto
✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch DOC-1611

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.

❤️ Share
🪧 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.
    • 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.
  • 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 the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

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

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • 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.

@JakeSCahill JakeSCahill requested a review from chrisseto August 14, 2025 11:19
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: 2

🧹 Nitpick comments (4)
modules/get-started/pages/release-notes/operator.adoc (1)

12-25: Beta section content is clear and consistent; consider adding a call-to-action link to the beta guide

The description of the new cluster-scoped default and RBAC simplification for rpk bundle collection looks correct. Per team learnings, temporary attribute/version inconsistencies during beta are expected, so no issue there. To help readers discover how to try the beta, add a link to the deployment guide.

Apply this diff to add a CTA link after the bullet list:

 * **Simplified RBAC for debug bundles**: The Redpanda Operator now provides all required permissions for `rpk` debug bundle collection by default. The `rbac.createRPKBundleCRs` flag is no longer needed.
 
+For instructions to try the Redpanda Operator 25.2 beta, see xref:deploy:deployment-option/self-hosted/kubernetes/k-25.2-beta.adoc[Try the 25.2 Beta of the Redpanda Operator].
modules/deploy/pages/deployment-option/self-hosted/kubernetes/k-25.2-beta.adoc (3)

3-3: Tighten the page description to focus on the Operator (remove Helm chart mention)

This page only documents the Operator path. Mentioning the Redpanda Helm chart here is confusing.

Apply this diff:

-:description: Deploy the 25.2 beta release of the Redpanda Operator or Redpanda Helm chart. This version of the Redpanda Operator defaults to cluster scope so a single instance of the Operator can manage multiple Redpanda resources in different namespaces.
+:description: Deploy the 25.2 beta release of the Redpanda Operator. This version defaults to cluster scope so a single Operator instance can manage Redpanda resources across multiple namespaces.

42-48: Optional: run helm repo update after adding the Redpanda repo

Not strictly necessary after helm repo add, but it avoids stale indexes in some environments.

Apply this diff:

 helm repo add redpanda https://charts.redpanda.com
+helm repo update
 helm upgrade --install redpanda-controller redpanda/operator \
   --namespace <namespace> \
   --create-namespace \
   --version {operator-beta-tag} \
   --set crds.enabled=true

72-88: Avoid duplicating full manifests; show just the Enterprise section or clearly label this as a variant

Using the same filename and repeating the full document can confuse readers about which manifest to apply. Better: show only the Enterprise spec section to add, or label it as an alternate file.

Apply this diff to present only the Enterprise spec fragment:

-.`redpanda-cluster.yaml`
-[,yaml,subs="attributes+"]
-----
-apiVersion: cluster.redpanda.com/v1alpha2
-kind: Redpanda
-metadata:
-  name: redpanda
-spec:
-  clusterSpec:
-    enterprise:
-      licenseSecretRef:
-        name: <secret-name>
-        key: <secret-key>
-----
+.Add the following to your `redpanda-cluster.yaml` manifest to enable Enterprise features:
+[,yaml,subs="attributes+"]
+----
+spec:
+  clusterSpec:
+    enterprise:
+      licenseSecretRef:
+        name: <secret-name>
+        key: <secret-key>
+----

If you prefer to keep a complete alternate manifest, rename the caption to something like .redpanda-cluster-enterprise.yaml and adjust subsequent commands accordingly.

📜 Review details

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

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these settings in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between fdb30b1 and 6fafada.

📒 Files selected for processing (2)
  • modules/deploy/pages/deployment-option/self-hosted/kubernetes/k-25.2-beta.adoc (1 hunks)
  • modules/get-started/pages/release-notes/operator.adoc (1 hunks)
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: Feediver1
PR: redpanda-data/docs#1153
File: antora.yml:3-5
Timestamp: 2025-07-14T19:28:43.296Z
Learning: In Redpanda docs, during beta releases, the version metadata may intentionally show inconsistencies where the header displays the beta version (e.g., 25.2 Beta) while internal attributes like full-version, latest-redpanda-tag, operator-beta-tag still reference the stable version (e.g., 25.1). This is resolved during the GA merge process when all version references are synchronized.
📚 Learning: 2025-07-14T19:28:43.296Z
Learnt from: Feediver1
PR: redpanda-data/docs#1153
File: antora.yml:3-5
Timestamp: 2025-07-14T19:28:43.296Z
Learning: In Redpanda docs, during beta releases, the version metadata may intentionally show inconsistencies where the header displays the beta version (e.g., 25.2 Beta) while internal attributes like full-version, latest-redpanda-tag, operator-beta-tag still reference the stable version (e.g., 25.1). This is resolved during the GA merge process when all version references are synchronized.

Applied to files:

  • modules/deploy/pages/deployment-option/self-hosted/kubernetes/k-25.2-beta.adoc
  • modules/get-started/pages/release-notes/operator.adoc
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: Redirect rules - redpanda-docs-preview
  • GitHub Check: Header rules - redpanda-docs-preview
  • GitHub Check: Pages changed - redpanda-docs-preview
🔇 Additional comments (3)
modules/get-started/pages/release-notes/operator.adoc (1)

12-25: LGTM on the 25.2.x (beta) release notes

  • Accurate summary of the cluster-scope default and its benefits.
  • RBAC note about rpk debug bundles is succinct and actionable.
modules/deploy/pages/deployment-option/self-hosted/kubernetes/k-25.2-beta.adoc (2)

61-71: Minimal CR example: confirm that an empty spec is valid in v1alpha2

The example shows only apiVersion/kind/metadata. If v1alpha2 requires any mandatory fields in spec, this will fail reconciliation.

Would you confirm against the v25.2.x CRD whether a bare Redpanda resource without spec is valid? If not, we should include the smallest valid spec (for example, spec.clusterSpec.statefulset.replicas and essential storage settings). I can propose an updated minimal manifest once confirmed.


72-88: Verify license field path spec.clusterSpec.enterprise.licenseSecretRef against the v25.2.x CRD

Field paths for licensing have changed across versions in the past. Let's ensure this is correct for v25.2.x before publishing.

If confirmed, consider adding a short note about expected Secret type/format (key containing the license string) to reduce support questions. I can add that snippet once you confirm the path.

Copy link
Contributor

@chrisseto chrisseto left a comment

Choose a reason for hiding this comment

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

LGTM but we've not yet cut the beta. We're waiting on one last PR: redpanda-data/redpanda-operator#974

redpanda True Redpanda reconciliation succeeded
----
+
This step may take a few minutes. You can watch for new Pods to make sure that the deployment is progressing:
Copy link
Contributor

Choose a reason for hiding this comment

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

It should be pretty snappy. Is that not what you've experienced?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It sometimes takes a while for the cluster to be ready. I've waited multiple minutes before.

Copy link
Contributor

Choose a reason for hiding this comment

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

Ah, for the cluster to be ready. Do you often see the redpanda Pods handing around in a Scheduled but not yet Running state?

I've seen two primary sources of latency:

  • cert-manager can be a bit sluggish which causes Kubelet's backoff loops to lengthen because it's waiting for the certs to be minted
  • kubelet sometimes takes >1m to actually start running Pods :/ I haven't been able to figure out why but it's quite frustrating. There's even a dedicated PodStartLatency SLO metric that kubelet emits where it more or less "tells on itself".

@JakeSCahill JakeSCahill changed the title Add 25.2 beta docs for the Redpanda Operator k8s: Add 25.2 beta docs for the Redpanda Operator Aug 14, 2025
Copy link
Contributor

@Feediver1 Feediver1 left a comment

Choose a reason for hiding this comment

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

lgtm

@JakeSCahill JakeSCahill merged commit 887de40 into main Aug 19, 2025
7 checks passed
@JakeSCahill JakeSCahill deleted the DOC-1611 branch August 19, 2025 14:31
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.

3 participants