Skip to content

Conversation

vbotbuildovich
Copy link
Contributor

This PR updates the CRD reference documentation for operator release .

@vbotbuildovich vbotbuildovich requested a review from a team as a code owner May 29, 2025 16:02
Copy link

netlify bot commented May 29, 2025

Deploy Preview for redpanda-docs-preview ready!

Name Link
🔨 Latest commit ee0d5b8
🔍 Latest deploy log https://app.netlify.com/projects/redpanda-docs-preview/deploys/68388527d6acdb0008b21f70
😎 Deploy Preview https://deploy-preview-1141--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 May 29, 2025

📝 Walkthrough

Walkthrough

The documentation for the Redpanda Console Helm chart, Redpanda Kubernetes CRD, Redpanda Operator Helm chart, and Redpanda Helm chart has been updated to reflect new chart and app versions, configuration changes, and structural improvements. Key changes include removal and deprecation of outdated fields, reorganization of configuration sections, introduction of new fields for cluster configuration and status reporting, updates to default values, and clarification of version-dependent settings. Several deprecated or unused configuration options were removed, and new options were added for RBAC, pod customization, and deployment strategies. The documentation now aligns with the latest versions and best practices.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant HelmChart
    participant Kubernetes
    participant RedpandaOperator
    participant RedpandaCluster

    User->>HelmChart: Update values.yaml / apply new chart version
    HelmChart->>Kubernetes: Deploy/Upgrade resources (CRDs, Deployments, etc.)
    Kubernetes->>RedpandaOperator: Trigger reconciliation loop
    RedpandaOperator->>RedpandaCluster: Apply new configuration/spec changes
    RedpandaCluster-->>RedpandaOperator: Report status (including new/deprecated fields)
    RedpandaOperator-->>Kubernetes: Update CR status
    Kubernetes-->>User: Expose updated status and configuration
Loading

Suggested reviewers

  • Feediver1

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.
    • Explain this complex logic.
    • 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 explain this code block.
    • @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 explain its main purpose.
    • @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.

Support

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

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.

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: 5

🧹 Nitpick comments (9)
modules/reference/pages/k-console-helm-spec.adoc (2)

244-247: Add podSecurityContext.fsGroupChangePolicy default
The new fsGroupChangePolicy default "Always" is important for environments with immutable volume permissions. Consider adding a brief description of its behavior (e.g., “Controls when the fsGroup ownership is changed on volume mount”).


325-327: Clarify service.annotations.targetPort override
The description “Override the value in console.config.server.listenPort if not nil” and the standalone targetPort: label are a bit confusing. Recommend rephrasing to something like:

Override `console.config.server.listenPort` when set.  
*Default:* `<inherited from annotations>`

Or clearly state the default targetPort.

modules/reference/pages/k-operator-helm-spec.adoc (1)

285-291: Fix quoting in rbac.createAdditionalControllerCRs description
The backtick usage is inconsistent around rbac.enabled'. Recommend uniform backticks, e.g.:

Create RBAC cluster roles needed for the Redpanda Helm chart’s `rbac.enabled` feature.
modules/reference/pages/k-crd.adoc (2)

330-330: Clarify recommendation for disabling useFlux
The note advising users to align their chartVersion with 5.9.21 is helpful. Consider wrapping the version in backticks and adding a hyperlink to the corresponding Helm chart release notes for quick reference.


1814-1825: Review deprecation formatting for RedpandaStatus fields
Multiple fields (lastHandledReconcileAt, lastAppliedRevision, helmRelease, etc.) are marked deprecated. To improve readability, consider grouping these under a “Deprecated Fields” subtable or prefixing each entry with “Deprecated:”.

modules/reference/pages/k-redpanda-helm-spec.adoc (4)

203-203: Clarify Trailing Dot in clusterDomain Default
The default clusterDomain now includes a trailing dot ("cluster.local."). Consider adding a note explaining that the dot is required for fully qualified domain names (FQDNs).


408-408: Verify Default Image Tag Behavior
The default image repository is set correctly, but the tag is empty to defer to Chart.appVersion. Consider adding a comment noting that Chart.appVersion will be used if tag is unset.


613-620: Document New podTemplate.annotations & podTemplate.labels
Support for podTemplate.annotations and podTemplate.labels has been added. Please include examples in the Merge Semantics section to show how these are merged into the final Pod spec.


715-715: RBAC Enabled and rpkDebugBundle Added
RBAC is now enabled by default (enabled: true) and includes a new rpkDebugBundle flag. This should be highlighted in the upgrade notes to alert users to the new permission requirements.

📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between e71d5e0 and ee0d5b8.

📒 Files selected for processing (4)
  • modules/reference/pages/k-console-helm-spec.adoc (6 hunks)
  • modules/reference/pages/k-crd.adoc (12 hunks)
  • modules/reference/pages/k-operator-helm-spec.adoc (7 hunks)
  • modules/reference/pages/k-redpanda-helm-spec.adoc (20 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (3)
  • GitHub Check: Redirect rules - redpanda-docs-preview
  • GitHub Check: Header rules - redpanda-docs-preview
  • GitHub Check: Pages changed - redpanda-docs-preview
🔇 Additional comments (27)
modules/reference/pages/k-console-helm-spec.adoc (5)

5-10: Update version and AppVersion badges to 3.1.0
The new badges accurately reflect the chart and application versions. They follow the existing style and should render correctly in the docs.


81-88: Rename console.config section to config
The section link has been updated to config to match the new values.yaml structure. This aligns with the upstream chart rename and improves clarity.


90-93: Introduce configmap.create setting
Adding configmap.create allows users to toggle creation of the ConfigMap. The default true is consistent with prior behavior.


94-97: Introduce deployment.create setting
Similarly, deployment.create gives users control over whether to deploy the Console pod. Defaulting to true maintains backward compatibility.


301-303: Update default structure for secret
The expanded JSON snippet clarifies the fields (authentication, kafka, license, redpanda, schemaRegistry, serde) and their defaults. This matches the upstream values.yaml and improves discoverability of secret-backed config.

modules/reference/pages/k-operator-helm-spec.adoc (7)

5-10: Bump Operator chart version badges to v25.1.1-beta3
The updated Version and AppVersion shields correctly reflect the new release. They’re consistent with other chart docs.


14-15: Use relative link for values.yaml
Switching to link:./values.yaml keeps the doc portable and avoids hardcoding the GitHub path. This aligns with patterns in other pages.


30-31: Update source repository URL
Pointing to operator/chart instead of the old path ensures readers navigate to the correct Helm chart directory.


38-50: Set default for additionalCmdFlags to empty list
Changing the default from a preset array to [] gives users a clean slate for flags. This matches the Kubernetes CRD changes and avoids confusion.


207-211: Simplify monitoring default to {"enabled":false}
Removing the deployPrometheusKubeStack section streamlines the doc and matches the new chart defaults. The simplified default is clear.


271-277: Enable all RBAC cluster roles by default
The JSON default now includes createAdditionalControllerCRs and createRPKBundleCRs, ensuring the Operator has necessary permissions out of the box. This mirrors best practices in the main Helm chart.


350-357: Add strategy setting with RollingUpdate default
Introducing the strategy section makes the deployment strategy explicit. Defaulting to {"type":"RollingUpdate"} ensures safe updates.

modules/reference/pages/k-crd.adoc (4)

324-325: ChartRef upgrade and useFlux field types updated to RawExtension
The documentation now correctly reflects that the upgrade field is a RawExtension and that useFlux is a boolean flag. The links to the Kubernetes API types are accurate and align with the API changes.


450-452: Approve addition of extraClusterConfiguration
The extraClusterConfiguration field is clearly described, explaining its purpose and the late‐resolution behavior to avoid embedding secrets in ConfigMaps. It aligns with the Helm chart update.


1809-1812: Document RedpandaStatus new fields
The addition of conditions, license, nodePools, and configVersion to RedpandaStatus is well‐presented with correct links and descriptions. Consider indicating when these fields are populated or any default values.


1716-1716: Include SideCars in RedpandaImage context
Great catch adding the sideCars reference to RedpandaImage. The xref is formatted correctly and reflects the new sidecar image support.

modules/reference/pages/k-redpanda-helm-spec.adoc (11)

5-6: Update Chart Version Badge
The Version badge correctly reflects the new Chart version 25.1.1-beta3 and follows the existing badge style.


9-10: Update AppVersion Badge
The AppVersion badge correctly reflects the new application version v25.1.2, matching the Chart metadata.


40-40: Verify Console Dependency Version and Path
The console chart dependency is updated to >=3.1.0-0. Please confirm that file://../console points to the correct relative path in the helm-charts repository and aligns with the k-console-helm-spec documentation changes.


333-346: Update Enterprise License Defaults
The default enterprise license settings have been cleaned up: empty string for license and nil for licenseSecretRef. This aligns with the CRD deprecations and avoids empty map defaults.


440-440: Ensure Listener Defaults Align with Schema
The combined listeners JSON block was updated to remove deprecated fields (e.g., kafkaEndpoint). Verify that this block matches the current CRD schema and that any removed fields are covered in upgrade notes.


520-520: Approve HTTP Listener Defaults
The listeners.http default values are correct and consistent with the summary (enabled, external ports, TLS settings).


626-636: Review podTemplate.spec Defaults
The default podTemplate.spec (imagePullSecrets and securityContext) is now populated. Verify the securityContext values (fsGroup, fsGroupChangePolicy, runAsUser) meet security guidelines and update documentation if necessary.


871-874: Service Account Creation Default Changed
The default for serviceAccount.create is now true, ensuring the service account is created by the chart. Confirm this change does not conflict with operator-based deployments, and document any implications.


909-911: Initialize Containers CLI Args Default
The statefulset.initContainers.configurator.additionalCLIArgs default of [] is clear. No changes needed here.


978-980: Review StatefulSet podTemplate.spec Merging Defaults
The default statefulset.podTemplate.spec (affinity, nodeSelector, etc.) has been consolidated under a single object. Ensure the merging semantics documentation reflects how these are applied.


1077-1083: Update Sidecar Controller Image Defaults
The default statefulset.sideCars.image.repository and tag have been updated to docker.redpanda.com/redpandadata/redpanda-operator / v25.1.1-beta3. This aligns with chart versioning.

@@ -539,6 +551,7 @@ the dynamic configuration, while its "synonym" will be the default. +
| Field | Description
| *`extraVolumeMounts`* __string__ |
| *`resources`* __link:https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcerequirements-v1-core[$$ResourceRequirements$$]__ |
| *`additionalCLIArgs`* __string array__ |
Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Add description for additionalCLIArgs
The additionalCLIArgs field has been added but lacks a description. Please include a brief explanation (e.g., “Array of extra CLI arguments passed to the configurator init container; defaults to an empty list.”).

🤖 Prompt for AI Agents
In modules/reference/pages/k-crd.adoc at line 554, add a description for the
`additionalCLIArgs` field. Include a brief explanation such as "Array of extra
CLI arguments passed to the configurator init container; defaults to an empty
list." to clarify its purpose and default behavior.

Comment on lines +348 to +356
[id="{anchor_prefix}-cf-workers-proxy-9e9.pages.dev-redpanda-data-redpanda-operator-operator-api-redpanda-v1alpha2-clusterconfiguration"]
== ClusterConfiguration (ClusterConfiguration)





.Appears in:
- xref:{anchor_prefix}-cf-workers-proxy-9e9.pages.dev-redpanda-data-redpanda-operator-operator-api-redpanda-v1alpha2-config[$$Config$$]
Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

⚠️ Potential issue

Document ClusterConfiguration fields
The new ClusterConfiguration section is introduced but currently empty. Please provide a field table (with Field and Description columns) or descriptive text detailing its properties, similar to other CRD types.

🤖 Prompt for AI Agents
In modules/reference/pages/k-crd.adoc around lines 348 to 356, the
ClusterConfiguration section is empty and lacks documentation of its fields. Add
a detailed field table or descriptive text that lists and explains each property
of ClusterConfiguration, following the format used for other CRD types in the
document, including columns for Field and Description.

@@ -2253,6 +2301,7 @@ SideCars configures the additional sidecar containers that run alongside the mai
[cols="25a,75a", options="header"]
|===
| Field | Description
| *`image`* __xref:{anchor_prefix}-cf-workers-proxy-9e9.pages.dev-redpanda-data-redpanda-operator-operator-api-redpanda-v1alpha2-redpandaimage[$$RedpandaImage$$]__ |
Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Provide description for image in SideCars
The image field was added to SideCars but has no description. Please add a concise description, for example:
“Specifies the container image settings for the sidecar, leveraging the RedpandaImage type (repository, tag, pullPolicy).”

🤖 Prompt for AI Agents
In modules/reference/pages/k-crd.adoc at line 2304, the `image` field in
`SideCars` lacks a description. Add a concise description stating: "Specifies
the container image settings for the sidecar, leveraging the `RedpandaImage`
type (repository, tag, pullPolicy)." This will clarify the purpose of the
`image` field.

Comment on lines +1198 to +1206
[id="{anchor_prefix}-cf-workers-proxy-9e9.pages.dev-redpanda-data-redpanda-operator-operator-api-redpanda-v1alpha2-nodepoolstatus"]
== NodePoolStatus

NodePoolStatus defines the observed state of any node pools tied to this cluster



.Appears in:
- xref:{anchor_prefix}-cf-workers-proxy-9e9.pages.dev-redpanda-data-redpanda-operator-operator-api-redpanda-v1alpha2-redpandastatus[$$RedpandaStatus$$]
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

Complete NodePoolStatus documentation
The new NodePoolStatus type appears, but its section header and context are missing a summary table header or introductory text. Ensure you include a Field/Description table and any additional notes consistent with other status types.

🤖 Prompt for AI Agents
In modules/reference/pages/k-crd.adoc around lines 1198 to 1206, the
NodePoolStatus section lacks a summary table header and introductory text. Add a
table with columns "Field" and "Description" to document the fields of
NodePoolStatus, and include any relevant notes or context consistent with other
status type sections in the document.

@@ -236,7 +226,7 @@ documentation].
*Default:*

....
{"cluster":{},"node":{"crash_loop_limit":5},"pandaproxy_client":{},"rpk":{},"schema_registry_client":{},"tunable":{"compacted_log_segment_size":67108864,"kafka_connection_rate_limit":1000,"log_segment_size_max":268435456,"log_segment_size_min":16777216,"max_compacted_log_segment_size":536870912}}
{"cluster":{},"extraClusterConfiguration":{},"node":{"crash_loop_limit":5},"pandaproxy_client":{},"rpk":{},"schema_registry_client":{},"tunable":{"compacted_log_segment_size":67108864,"kafka_connection_rate_limit":1000,"log_segment_size_max":268435456,"log_segment_size_min":16777216,"max_compacted_log_segment_size":536870912}}
Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Document extraClusterConfiguration Field
The config section introduces extraClusterConfiguration. Ensure this new field is documented with examples or a reference to the corresponding CRD (ClusterConfiguration in k-crd.adoc).

🤖 Prompt for AI Agents
In modules/reference/pages/k-redpanda-helm-spec.adoc at line 229, the new field
`extraClusterConfiguration` is introduced but not documented. Add documentation
for this field in the config section, including a description and examples or a
reference to the `ClusterConfiguration` CRD in k-crd.adoc to clarify its usage
and structure.

@JakeSCahill JakeSCahill merged commit cc4c81b into main May 30, 2025
7 checks passed
@JakeSCahill JakeSCahill deleted the auto-docs/update- branch May 30, 2025 10:31
JakeSCahill added a commit that referenced this pull request Jul 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants