Skip to content

auto-docs: Update CRD reference doc for release#1499

Closed
vbotbuildovich wants to merge 1 commit intomainfrom
auto-docs/update-
Closed

auto-docs: Update CRD reference doc for release#1499
vbotbuildovich wants to merge 1 commit intomainfrom
auto-docs/update-

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 December 4, 2025 11:00
@netlify
Copy link

netlify bot commented Dec 4, 2025

Deploy Preview for redpanda-docs-preview ready!

Name Link
🔨 Latest commit 114ae4e
🔍 Latest deploy log https://app.netlify.com/projects/redpanda-docs-preview/deploys/693169bb2829f0000862b9cf
😎 Deploy Preview https://deploy-preview-1499--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.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 4, 2025

📝 Walkthrough

Walkthrough

This pull request updates Kubernetes and Helm configuration documentation across four reference pages. Two Helm spec pages (k-console-helm-spec.adoc and k-redpanda-helm-spec.adoc) have their extensive chart documentation replaced with a single link to the chart README. The Operator Helm spec is updated with version bumps from v25.1.1-beta3 to 25.2.1, introduces new CRD configuration options (crds.enabled, crds.experimental), and removes an RBAC entry and Scope section. The CRD reference page is expanded with new types (ExternalSecretKeySelector, ValueSource, ProbeApplyConfiguration, TopicSpec) and updated deprecation notices across multiple CRD sections.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • k-console-helm-spec.adoc and k-redpanda-helm-spec.adoc: Verify that the extensive content removals are intentional and that the README link reference is correct and sufficient
  • k-operator-helm-spec.adoc: Confirm version bump accuracy (v25.1.1-beta3 to 25.2.1), validate new CRD configuration block defaults and descriptions, and verify RBAC and Scope section removals align with intended operator behavior
  • k-crd.adoc: Review new type additions (ExternalSecretKeySelector, ValueSource, ProbeApplyConfiguration, TopicSpec) for completeness and accuracy; cross-check deprecation notices and field descriptions; ensure references to new structures are consistent throughout the document

Possibly related PRs

Suggested reviewers

  • JakeSCahill
  • chrisseto
  • Feediver1

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Description check ⚠️ Warning The description is incomplete and lacks critical information required by the repository template, including JIRA ticket link, review deadline, page previews, and category checkboxes. Add the missing JIRA ticket reference, review deadline, Netlify page preview links, and check the appropriate category (likely 'auto-docs' related update) in the template.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: updating CRD reference documentation for an operator release, which aligns with the file modifications across multiple CRD and Helm specification documentation pages.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch auto-docs/update-

Comment @coderabbitai help to get the list of available commands and usage tips.

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
modules/reference/pages/k-operator-helm-spec.adoc (2)

372-379: Remove or clarify the dangling reference to "scope" configuration in webhook description.

Line 376-377 references "Only valid when scope is set to Cluster," but the scope configuration option is not documented in the Helm chart specification. Either remove this conditional statement or add documentation for the scope configuration if it actually exists in the Helm values.


290-299: Update RBAC documentation and provide explicit migration guidance for the removed rbac.createRPKBundleCRs field.

The rbac.createRPKBundleCRs field was removed in v25.2 as part of RBAC simplification—debug bundle permissions are now automatic. However, this removal creates documentation and migration issues:

  1. Outdated documentation in k-crd.adoc (line 1985) still instructs users to set rbac.createRPKBundleCRs=true, which is no longer valid for v25.2+.

  2. Missing explicit removal guidance: While the v25.2 release notes mention the field is "no longer needed," users with explicit rbac.createRPKBundleCRs values in their values.yaml files have no clear instruction to remove or update them during upgrades. The upgrade documentation (k-upgrade-operator.adoc) does not address this breaking change.

  3. Unclear backward compatibility: There's no statement clarifying whether Helm will silently ignore the removed field, causing confusion for users upgrading from earlier versions.

Update k-crd.adoc to remove the outdated reference, and add explicit migration guidance to the v25.2 upgrade section noting that users should remove rbac.createRPKBundleCRs from their values if present.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Jira integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 6d24629 and 114ae4e.

📒 Files selected for processing (4)
  • modules/reference/pages/k-console-helm-spec.adoc (1 hunks)
  • modules/reference/pages/k-crd.adoc (20 hunks)
  • modules/reference/pages/k-operator-helm-spec.adoc (3 hunks)
  • modules/reference/pages/k-redpanda-helm-spec.adoc (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-07-16T19:33:20.420Z
Learnt from: Feediver1
Repo: redpanda-data/docs PR: 1153
File: modules/reference/pages/properties/topic-properties.adoc:45-50
Timestamp: 2025-07-16T19:33:20.420Z
Learning: In the Redpanda documentation, topic property cross-references like <<max.compaction.lag.ms>> and <<min.compaction.lag.ms>> require corresponding property definition sections with anchors like [[maxcompactionlagms]] and [[mincompactionlagms]] to prevent broken links.

Applied to files:

  • modules/reference/pages/k-crd.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 (10)
modules/reference/pages/k-crd.adoc (8)

1-50: Comprehensive CRD documentation update with proper type definitions and cross-references.

The autogenerated file shows well-structured additions of new types (ExternalSecretKeySelector, ValueSource, ProbeApplyConfiguration, TopicSpec) with all required anchor definitions for xref resolution. Field migrations from specific SecretKeyRef types to the flexible ValueSource type are consistently applied across all SASL and TLS configuration sections.


219-222: Consistent deprecation pattern across SASL and TLS field migrations.

All SASL and TLS authentication types (AdminSASL, KafkaSASL, KafkaSASLAWSMskIam, KafkaSASLGSSAPI, KafkaSASLOAuthBearer, SchemaRegistrySASL, CommonTLS) uniformly migrate credential fields to ValueSource with clear deprecation notices pointing to replacement fields. The migration path is obvious and backward-compatible.

Also applies to: 528-533, 1391-1396, 1415-1420, 1448-1449, 2736-2740


1089-1103: New ExternalSecretKeySelector type properly defined and anchored.

ExternalSecretKeySelector is added with minimal but appropriate field definition (name field). The anchor at line 1089 correctly supports xref resolution from ValueSource (line 3716-3717), enabling external secret references in value sourcing mechanisms.


3691-3719: ValueSource type provides unified value sourcing with multiple backends.

ValueSource consolidates credential/certificate sourcing into a single flexible type supporting inline values, ConfigMap references, Kubernetes Secrets, and external secrets. Cross-references from six different SASL/TLS configuration types are properly defined, reducing duplication and improving maintainability.


1957-1969: ProbeApplyConfiguration wrapper type introduced for probe customization in Console.

ProbeApplyConfiguration serves as a CRD-compatible wrapper for Kubernetes Probe configurations (referenced in ConsoleSpec and ConsoleValues at lines 806, 808, 891, 893). Documentation is sparse but appropriate for an auto-generated wrapper type; full probe semantics are inherited from the underlying Kubernetes API.


3375-3417: TopicSpec properly defined as standalone CRD section with comprehensive field documentation.

TopicSpec includes all essential topic configuration fields (partitions, replicationFactor, additionalConfig, cluster reference, kafkaApiSpec) with clear descriptions of defaults, constraints, and deprecation guidance. The kafkaApiSpec field is marked deprecated with guidance to use cluster.staticConfiguration.kafkaApiSpec, guiding users toward the cluster-ref pattern.


719-719: Console CRD documentation refined; RoleStatus extended with managedPrincipals field.

Line 719 clarifies Console as a CRD for "Redpanda Console instances" rather than a subchart configuration. Line 2598-2599 adds managedPrincipals field to RoleStatus to track operator reconciliation of role membership, improving observability of managed resources.

Also applies to: 2598-2599


521-527: CommonTLS enabled flag improves public TLS certificate handling.

Addition of the enabled field to CommonTLS allows connections to leverage TLS with publicly-issued certificates without requiring explicit certificate/key specification. Detailed comment explains backward compatibility: the flag only applies when no CA/Cert/Key is specified, ensuring existing configurations continue to function as expected.

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

5-10: Version bump is clean.

The version update from 25.1.1-beta3 to 25.2.1 correctly removes the beta designation and follows semantic versioning conventions. This aligns with the release objective.


159-181: CRD configuration options are well-documented.

The new crds section with enabled and experimental flags is clear and provides good control over CRD installation. Defaults of false for both appear conservative and safe for existing deployments.

Comment on lines +1 to +3
== Redpanda Console Helm Chart

:description: Find the default values and descriptions of settings in the Redpanda Console Helm chart.

image:https://img.shields.io/badge/Version-3.1.0-informational?style=flat-square[Version:
3.1.0]
image:https://img.shields.io/badge/Type-application-informational?style=flat-square[Type:
application]
image:https://img.shields.io/badge/AppVersion-v3.1.0-informational?style=flat-square[AppVersion:
v3.1.0]

This page describes the official Redpanda Console Helm Chart. In
particular, this page describes the contents of the chart’s
https://github.com/redpanda-data/helm-charts/blob/main/charts/console/values.yaml[`values.yaml`
file]. Each of the settings is listed and described on this page, along
with any default values.

The Redpanda Console Helm chart is included as a subchart in the
Redpanda Helm chart so that you can deploy and configure Redpanda and
Redpanda Console together. For instructions on how to install and use
the chart, refer to the
https://docs.redpanda.com/docs/deploy/deployment-option/self-hosted/kubernetes/kubernetes-deploy/[deployment
documentation]. For instructions on how to override and customize the
chart’s values, see
https://docs.redpanda.com/docs/manage/kubernetes/configure-helm-chart/#configure-redpanda-console[Configure
Redpanda Console].

'''''

Autogenerated from chart metadata using
https://github.com/norwoodj/helm-docs/releases/v1.11.0[helm-docs
v1.11.0]

== Source Code

* https://github.com/redpanda-data/redpanda-operator/tree/main/charts/console

== Requirements

Kubernetes: `>= 1.25.0-0`

== Settings

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=affinity++[affinity]

*Default:* `{}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=annotations++[annotations]

Annotations to add to the deployment.

*Default:* `{}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=automountServiceAccountToken++[automountServiceAccountToken]

Automount API credentials for the Service Account into the pod. Redpanda Console
does not communicate with Kubernetes API.

*Default:* `false`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=autoscaling.enabled++[autoscaling.enabled]

*Default:* `false`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=autoscaling.maxReplicas++[autoscaling.maxReplicas]

*Default:* `100`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=autoscaling.minReplicas++[autoscaling.minReplicas]

*Default:* `1`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=autoscaling.targetCPUUtilizationPercentage++[autoscaling.targetCPUUtilizationPercentage]

*Default:* `80`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=commonLabels++[commonLabels]

*Default:* `{}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=config++[config]

Settings for the `Config.yaml` (required). For a reference of
configuration settings, see the
https://docs.redpanda.com/docs/reference/console/config/[Redpanda
Redpanda Consoleonsole documentation].

*Default:* `{}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=configmap.create++[configmap.create]

*Default:* `true`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=deployment.create++[deployment.create]

*Default:* `true`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=extraContainers++[extraContainers]

Add additional containers, such as for oauth2-proxy.

*Default:* `[]`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=extraEnv++[extraEnv]

Additional environment variables for the Redpanda Console Deployment.

*Default:* `[]`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=extraEnvFrom++[extraEnvFrom]

Additional environment variables for Redpanda Console mapped from Secret
or ConfigMap.

*Default:* `[]`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=extraVolumeMounts++[extraVolumeMounts]

Add additional volume mounts, such as for TLS keys.

*Default:* `[]`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=extraVolumes++[extraVolumes]

Add additional volumes, such as for TLS keys.

*Default:* `[]`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=fullnameOverride++[fullnameOverride]

Override `console.fullname` template.

*Default:* `""`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=image++[image]

Redpanda Console Docker image settings.

*Default:*

....
{"pullPolicy":"IfNotPresent","registry":"docker.redpanda.com","repository":"redpandadata/console","tag":""}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=image.pullPolicy++[image.pullPolicy]

The imagePullPolicy.

*Default:* `"IfNotPresent"`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=image.repository++[image.repository]

Docker repository from which to pull the Redpanda Docker image.

*Default:* `"redpandadata/console"`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=image.tag++[image.tag]

The Redpanda Console version. See DockerHub for:
https://hub.docker.com/r/redpandadata/console/tags[All stable versions]
and https://hub.docker.com/r/redpandadata/console-unstable/tags[all
unstable versions].

*Default:* `Chart.appVersion`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=imagePullSecrets++[imagePullSecrets]

Pull secrets may be used to provide credentials to image repositories
See
https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/

*Default:* `[]`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=ingress.annotations++[ingress.annotations]

*Default:* `{}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=ingress.enabled++[ingress.enabled]

*Default:* `false`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=ingress.hosts%5B0%5D.host++[ingress.hosts[0\].host]

*Default:* `"chart-example.local"`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=ingress.hosts%5B0%5D.paths%5B0%5D.path++[ingress.hosts[0\].paths[0\].path]

*Default:* `"/"`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=ingress.hosts%5B0%5D.paths%5B0%5D.pathType++[ingress.hosts[0\].paths[0\].pathType]

*Default:* `"ImplementationSpecific"`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=ingress.tls++[ingress.tls]

*Default:* `[]`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=initContainers++[initContainers]

Any initContainers defined should be written here

*Default:* `{"extraInitContainers":""}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=initContainers.extraInitContainers++[initContainers.extraInitContainers]

Additional set of init containers

*Default:* `""`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=livenessProbe++[livenessProbe]

Settings for liveness and readiness probes. For details, see the
https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes[Kubernetes
documentation].

*Default:*

....
{"failureThreshold":3,"periodSeconds":10,"successThreshold":1,"timeoutSeconds":1}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=nameOverride++[nameOverride]

Override `console.name` template.

*Default:* `""`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=nodeSelector++[nodeSelector]

*Default:* `{}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=podAnnotations++[podAnnotations]

*Default:* `{}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=podLabels++[podLabels]

*Default:* `{}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=podSecurityContext.fsGroup++[podSecurityContext.fsGroup]

*Default:* `99`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=podSecurityContext.fsGroupChangePolicy++[podSecurityContext.fsGroupChangePolicy]

*Default:* `"Always"`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=podSecurityContext.runAsUser++[podSecurityContext.runAsUser]

*Default:* `99`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=priorityClassName++[priorityClassName]

PriorityClassName given to Pods. For details, see the
https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass[Kubernetes
documentation].

*Default:* `""`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=readinessProbe.failureThreshold++[readinessProbe.failureThreshold]

*Default:* `3`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=readinessProbe.initialDelaySeconds++[readinessProbe.initialDelaySeconds]

Grant time to test connectivity to upstream services such as Kafka and
Schema Registry.

*Default:* `10`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=readinessProbe.periodSeconds++[readinessProbe.periodSeconds]

*Default:* `10`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=readinessProbe.successThreshold++[readinessProbe.successThreshold]

*Default:* `1`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=readinessProbe.timeoutSeconds++[readinessProbe.timeoutSeconds]

*Default:* `1`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=replicaCount++[replicaCount]

*Default:* `1`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=resources++[resources]

*Default:* `{}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=secret++[secret]

Create a new Kubernetes Secret for all sensitive configuration inputs.
Each provided Secret is mounted automatically and made available to the
Pod. If you want to use one or more existing Secrets, you can use the
`extraEnvFrom` list to mount environment variables from string and
secretMounts to mount files such as Certificates from Secrets.

*Default:*

....
{"authentication":{"jwtSigningKey":"","oidc":{}},"create":true,"kafka":{},"license":"","redpanda":{"adminApi":{}},"schemaRegistry":{},"serde":{}}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=secret.kafka++[secret.kafka]

Kafka Secrets.

*Default:* `{}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=secretMounts++[secretMounts]

SecretMounts is an abstraction to make a Secret available in the
container’s filesystem. Under the hood it creates a volume and a volume
mount for the Redpanda Console container.

*Default:* `[]`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=securityContext.runAsNonRoot++[securityContext.runAsNonRoot]

*Default:* `true`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=service.annotations++[service.annotations]

Override the value in `console.config.server.listenPort` if not `nil`
targetPort:

*Default:* `{}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=service.port++[service.port]

*Default:* `8080`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=service.type++[service.type]

*Default:* `"ClusterIP"`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=serviceAccount.annotations++[serviceAccount.annotations]

Annotations to add to the service account.

*Default:* `{}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=serviceAccount.automountServiceAccountToken++[serviceAccount.automountServiceAccountToken]

Specifies whether a service account should automount API-Credentials.
Redpanda Console does not communicate with Kubernetes API. The ServiceAccount
could be used for workload identity.

*Default:* `false`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=serviceAccount.create++[serviceAccount.create]

Specifies whether a service account should be created.

*Default:* `true`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=serviceAccount.name++[serviceAccount.name]

The name of the service account to use. If not set and
`serviceAccount.create` is `true`, a name is generated using the
`console.fullname` template

*Default:* `""`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=strategy++[strategy]

*Default:* `{}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=tests.enabled++[tests.enabled]

*Default:* `true`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=tolerations++[tolerations]

*Default:* `[]`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/console?modal=values&path=topologySpreadConstraints++[topologySpreadConstraints]

*Default:* `[]`
* See Chart link:./chart/README.md[README]
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 | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

# Find the chart/README.md file and understand the repo structure
find . -name "README.md" -path "*/chart/*" | head -20

Repository: redpanda-data/docs

Length of output: 44


🏁 Script executed:

# Check the current file location and nearby structure
git ls-files modules/reference/pages/ | head -20

Repository: redpanda-data/docs

Length of output: 1018


🏁 Script executed:

# Search for similar relative links in the documentation to understand the pattern
rg "link:\./.*\.md" modules/ | head -20

Repository: redpanda-data/docs

Length of output: 246


🏁 Script executed:

# Check if chart directory exists and its structure
fd -t d "chart" . | head -20

Repository: redpanda-data/docs

Length of output: 44


🏁 Script executed:

# Examine the actual directory structure relative to the documentation file
git ls-files | grep -E "(chart|README)" | head -30

Repository: redpanda-data/docs

Length of output: 287


🏁 Script executed:

# Search for any mentions of chart README or helm charts across the repo
rg "chart.*README|README.*chart" --type adoc | head -30

Repository: redpanda-data/docs

Length of output: 90


🏁 Script executed:

# Check if there's a separate chart repository or external reference
rg -i "redpanda.*chart|helm.*chart" modules/reference/pages/k-console-helm-spec.adoc -A 5 -B 5

Repository: redpanda-data/docs

Length of output: 136


🏁 Script executed:

# Search for xref or link patterns that might show where chart docs actually are
rg "xref.*chart|link.*chart" modules/reference/pages/ | head -20

Repository: redpanda-data/docs

Length of output: 483


🏁 Script executed:

# Check the git log to see if chart/ directory was recently removed
git log --oneline --all -- "*chart/README.md" 2>/dev/null | head -10

Repository: redpanda-data/docs

Length of output: 44


🏁 Script executed:

# Look for any external links or references to helm charts
rg "https.*chart|docs.*redpanda.*chart" modules/reference/pages/k-console-helm-spec.adoc

Repository: redpanda-data/docs

Length of output: 44


🏁 Script executed:

# Search for helm chart repository references or external documentation links
rg "helm.*chart|chart.*repo|redpanda/helm" modules/reference/pages/ | head -20

Repository: redpanda-data/docs

Length of output: 709


🏁 Script executed:

# Check the actual content around the link to understand what documentation it should reference
cat -n modules/reference/pages/k-console-helm-spec.adoc

Repository: redpanda-data/docs

Length of output: 157


🏁 Script executed:

# Search for any documentation about where helm charts are documented
rg -i "console.*helm|helm.*console" modules/ | grep -v "\.git" | head -20

Repository: redpanda-data/docs

Length of output: 3810


🏁 Script executed:

# Check if there's a GitHub helm-charts repository for console
rg "helm-charts.*console|console.*values.yaml" modules/reference/pages/ | head -10

Repository: redpanda-data/docs

Length of output: 44


🏁 Script executed:

# Look at the k-connector pattern to understand the standard for this documentation
cat -n modules/reference/pages/k-connector-helm-spec.adoc | head -20

Repository: redpanda-data/docs

Length of output: 1232


🏁 Script executed:

# Check the k-redpanda-helm-spec file to see if it has the same broken link
cat -n modules/reference/pages/k-redpanda-helm-spec.adoc | head -20

Repository: redpanda-data/docs

Length of output: 149


Replace relative link with absolute GitHub URL to Redpanda Console Helm chart.

The link ./chart/README.md points to a non-existent file in this repository. Use the absolute GitHub URL to match the pattern in k-connector-helm-spec.adoc:

* See Chart link:https://github.com/redpanda-data/helm-charts/blob/main/charts/console/README.md[README]

Note: The same broken link pattern exists in k-redpanda-helm-spec.adoc and should also be corrected.

🤖 Prompt for AI Agents
modules/reference/pages/k-console-helm-spec.adoc lines 1-3: the relative link
"./chart/README.md" points to a non-existent local file; replace it with the
absolute GitHub URL used in k-connector-helm-spec.adoc
(https://github.com/redpanda-data/helm-charts/blob/main/charts/console/README.md)
so the README link resolves correctly; also check and correct the same
relative-link pattern in modules/reference/pages/k-redpanda-helm-spec.adoc to
use the corresponding absolute GitHub chart README URL.

Comment on lines +1 to +3
== Redpanda Helm Chart

:description: Find the default values and descriptions of settings in the Redpanda Helm chart.

image:https://img.shields.io/badge/Version-25.1.1--beta3-informational?style=flat-square[Version:
25.1.1-beta3]
image:https://img.shields.io/badge/Type-application-informational?style=flat-square[Type:
application]
image:https://img.shields.io/badge/AppVersion-v25.1.2-informational?style=flat-square[AppVersion:
v25.1.2]

This page describes the official Redpanda Helm Chart. In particular,
this page describes the contents of the chart’s
https://github.com/redpanda-data/helm-charts/blob/main/charts/redpanda/values.yaml[`values.yaml`
file]. Each of the settings is listed and described on this page, along
with any default values.

For instructions on how to install and use the chart, including how to
override and customize the chart’s values, refer to the
https://docs.redpanda.com/docs/deploy/deployment-option/self-hosted/kubernetes/kubernetes-deploy/[deployment
documentation].

'''''

Autogenerated from chart metadata using
https://github.com/norwoodj/helm-docs/releases/v1.11.0[helm-docs
v1.11.0]

== Source Code

* https://github.com/redpanda-data/redpanda-operator/tree/main/charts/redpanda

== Requirements

Kubernetes: `>= 1.25.0-0`

[cols=",,",options="header",]
|===
|Repository |Name |Version
|file://../console |console |>=3.1.0-0
|===

== Settings

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=auditLogging++[auditLogging]

Audit logging for a redpanda cluster, must have enabled sasl and have
one kafka listener supporting sasl authentication for audit logging to
work. Note this feature is only available for redpanda versions >=
v23.3.0.

*Default:*

....
{"clientMaxBufferSize":16777216,"enabled":false,"enabledEventTypes":null,"excludedPrincipals":null,"excludedTopics":null,"listener":"internal","partitions":12,"queueDrainIntervalMs":500,"queueMaxBufferSizePerShard":1048576,"replicationFactor":null}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=auditLogging.clientMaxBufferSize++[auditLogging.clientMaxBufferSize]

Defines the number of bytes (in bytes) allocated by the internal audit
client for audit messages.

*Default:* `16777216`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=auditLogging.enabled++[auditLogging.enabled]

Enable or disable audit logging, for production clusters we suggest you
enable, however, this will only work if you also enable sasl and a
listener with sasl enabled.

*Default:* `false`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=auditLogging.enabledEventTypes++[auditLogging.enabledEventTypes]

Event types that should be captured by audit logs, default is [`admin`,
`authenticate`, `management`].

*Default:* `nil`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=auditLogging.excludedPrincipals++[auditLogging.excludedPrincipals]

List of principals to exclude from auditing, default is null.

*Default:* `nil`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=auditLogging.excludedTopics++[auditLogging.excludedTopics]

List of topics to exclude from auditing, default is null.

*Default:* `nil`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=auditLogging.listener++[auditLogging.listener]

Kafka listener name, note that it must have `authenticationMethod` set
to `sasl`. For external listeners, use the external listener name, such
as `default`.

*Default:* `"internal"`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=auditLogging.partitions++[auditLogging.partitions]

Integer value defining the number of partitions used by a newly created
audit topic.

*Default:* `12`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=auditLogging.queueDrainIntervalMs++[auditLogging.queueDrainIntervalMs]

In ms, frequency in which per shard audit logs are batched to client for
write to audit log.

*Default:* `500`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=auditLogging.queueMaxBufferSizePerShard++[auditLogging.queueMaxBufferSizePerShard]

Defines the maximum amount of memory used (in bytes) by the audit buffer
in each shard.

*Default:* `1048576`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=auditLogging.replicationFactor++[auditLogging.replicationFactor]

Defines the replication factor for a newly created audit log topic. This
configuration applies only to the audit log topic and may be different
from the cluster or other topic configurations. This cannot be altered
for existing audit log topics. Setting this value is optional. If a
value is not provided, Redpanda will use the
`internal_topic_replication_factor cluster` config value. Default is
`null`

*Default:* `nil`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=auth++[auth]

Authentication settings. For details, see the
https://docs.redpanda.com/docs/manage/kubernetes/security/sasl-kubernetes/[SASL
documentation].

*Default:*

....
{"sasl":{"bootstrapUser":{"mechanism":"SCRAM-SHA-256"},"enabled":false,"mechanism":"SCRAM-SHA-512","secretRef":"redpanda-users","users":[]}}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=auth.sasl.bootstrapUser++[auth.sasl.bootstrapUser]

Details about how to create the bootstrap user for the cluster. The
secretKeyRef is optionally specified. If it is specified, the chart will
use a password written to that secret when creating the
``kubernetes-controller'' bootstrap user. If it is unspecified, then the
secret will be generated and stored in the secret
``releasename''-bootstrap-user, with the key ``password''.

*Default:*

....
{"mechanism":"SCRAM-SHA-256"}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=auth.sasl.bootstrapUser.mechanism++[auth.sasl.bootstrapUser.mechanism]

The authentication mechanism to use for the bootstrap user. Options are
`SCRAM-SHA-256` and `SCRAM-SHA-512`.

*Default:* `"SCRAM-SHA-256"`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=auth.sasl.enabled++[auth.sasl.enabled]

Enable SASL authentication. If you enable SASL authentication, you must
provide a Secret in `auth.sasl.secretRef`.

*Default:* `false`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=auth.sasl.mechanism++[auth.sasl.mechanism]

The authentication mechanism to use for the superuser. Options are
`SCRAM-SHA-256` and `SCRAM-SHA-512`.

*Default:* `"SCRAM-SHA-512"`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=auth.sasl.secretRef++[auth.sasl.secretRef]

A Secret that contains your superuser credentials. For details, see the
https://docs.redpanda.com/docs/manage/kubernetes/security/sasl-kubernetes/#use-secrets[SASL
documentation].

*Default:* `"redpanda-users"`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=auth.sasl.users++[auth.sasl.users]

Optional list of superusers. These superusers will be created in the
Secret whose name is defined in `auth.sasl.secretRef`. If this list is
empty, the Secret in `auth.sasl.secretRef` must already exist in the
cluster before you deploy the chart. Uncomment the sample list if you
wish to try adding sample sasl users or override to use your own.

*Default:* `[]`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=clusterDomain++[clusterDomain]

Default Kubernetes cluster domain.

*Default:* `"cluster.local."`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=commonLabels++[commonLabels]

Additional labels to add to all Kubernetes objects. For example,
`my.k8s.service: redpanda`.

*Default:* `{}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=config++[config]

This section contains various settings supported by Redpanda that may
not work correctly in a Kubernetes cluster. Changing these settings
comes with some risk. Use these settings to customize various Redpanda
configurations that are not covered in other sections. These values have
no impact on the configuration or behavior of the Kubernetes objects
deployed by Helm, and therefore should not be modified for the purpose
of configuring those objects. Instead, these settings get passed
directly to the Redpanda binary at startup. For descriptions of these
properties, see the
https://docs.redpanda.com/docs/cluster-administration/configuration/[configuration
documentation].

*Default:*

....
{"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}}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=config.cluster++[config.cluster]

https://docs.redpanda.com/current/reference/properties/cluster-properties/[Cluster
Configuration Properties]

*Default:* `{}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=config.node++[config.node]

https://docs.redpanda.com/docs/reference/broker-properties/[Broker
(node) Configuration Properties].

*Default:* `{"crash_loop_limit":5}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=config.node.crash_loop_limit++[config.node.crash_loop_limit]

Crash loop limit A limit on the number of consecutive times a broker can
crash within one hour before its crash-tracking logic is reset. This
limit prevents a broker from getting stuck in an infinite cycle of
crashes. User can disable this crash loop limit check by the following
action: * One hour elapses since the last crash * The node configuration
file, redpanda.yaml, is updated via config.cluster or config.node or
config.tunable objects * The startup_log file in the node’s
data_directory is manually deleted Default to 5 REF:
https://docs.redpanda.com/current/reference/broker-properties/#crash_loop_limit

*Default:* `5`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=config.tunable++[config.tunable]

Tunable cluster properties. Deprecated: all settings here may be
specified via `config.cluster`.

*Default:*

....
{"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}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=config.tunable.compacted_log_segment_size++[config.tunable.compacted_log_segment_size]

See the
https://docs.redpanda.com/docs/reference/cluster-properties/#compacted_log_segment_size[property
reference documentation].

*Default:* `67108864`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=config.tunable.kafka_connection_rate_limit++[config.tunable.kafka_connection_rate_limit]

See the
https://docs.redpanda.com/docs/reference/cluster-properties/#kafka_connection_rate_limit[property
reference documentation].

*Default:* `1000`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=config.tunable.log_segment_size_max++[config.tunable.log_segment_size_max]

See the
https://docs.redpanda.com/docs/reference/cluster-properties/#log_segment_size_max[property
reference documentation].

*Default:* `268435456`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=config.tunable.log_segment_size_min++[config.tunable.log_segment_size_min]

See the
https://docs.redpanda.com/docs/reference/cluster-properties/#log_segment_size_min[property
reference documentation].

*Default:* `16777216`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=config.tunable.max_compacted_log_segment_size++[config.tunable.max_compacted_log_segment_size]

See the
https://docs.redpanda.com/docs/reference/cluster-properties/#max_compacted_log_segment_size[property
reference documentation].

*Default:* `536870912`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=console++[console]

Redpanda Console settings. For a reference of configuration settings,
see the
https://docs.redpanda.com/docs/reference/console/config/[Redpanda
Console documentation].

*Default:*

....
{"config":{},"configmap":{"create":false},"deployment":{"create":false},"enabled":true,"secret":{"create":false}}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=enterprise++[enterprise]

Enterprise (optional) For details, see the
https://docs.redpanda.com/docs/get-started/licenses/?platform=kubernetes#redpanda-enterprise-edition[License
documentation].

*Default:*

....
{"license":"","licenseSecretRef":null}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=enterprise.license++[enterprise.license]

license (optional).

*Default:* `""`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=enterprise.licenseSecretRef++[enterprise.licenseSecretRef]

Secret name and key where the license key is stored.

*Default:* `nil`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=external++[external]

External access settings. For details, see the
https://docs.redpanda.com/docs/manage/kubernetes/networking/networking-and-connectivity/[Networking
and Connectivity documentation].

*Default:*

....
{"enabled":true,"service":{"enabled":true},"type":"NodePort"}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=external.enabled++[external.enabled]

Enable external access for each Service. You can toggle external access
for each listener in
`listeners.<service name>.external.<listener-name>.enabled`.

*Default:* `true`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=external.service++[external.service]

Service allows you to manage the creation of an external kubernetes
service object

*Default:* `{"enabled":true}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=external.service.enabled++[external.service.enabled]

Enabled if set to false will not create the external service type You
can still set your cluster with external access but not create the
supporting service (NodePort/LoadBalander). Set this to false if you
rather manage your own service.

*Default:* `true`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=external.type++[external.type]

External access type. Only `NodePort` and `LoadBalancer` are supported.
If undefined, then advertised listeners will be configured in Redpanda,
but the helm chart will not create a Service. You must create a Service
manually. Warning: If you use LoadBalancers, you will likely experience
higher latency and increased packet loss. NodePort is recommended in
cases where latency is a priority.

*Default:* `"NodePort"`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=fullnameOverride++[fullnameOverride]

Override `redpanda.fullname` template.

*Default:* `""`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=image++[image]

Redpanda Docker image settings.

*Default:*

....
{"repository":"docker.redpanda.com/redpandadata/redpanda","tag":""}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=image.repository++[image.repository]

Docker repository from which to pull the Redpanda Docker image.

*Default:*

....
"docker.redpanda.com/redpandadata/redpanda"
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=image.tag++[image.tag]

The Redpanda version. See DockerHub for:
https://hub.docker.com/r/redpandadata/redpanda/tags[All stable versions]
and https://hub.docker.com/r/redpandadata/redpanda-unstable/tags[all
unstable versions].

*Default:* `Chart.appVersion`.

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=listeners++[listeners]

Listener settings. Override global settings configured above for
individual listeners. For details, see the
https://docs.redpanda.com/docs/manage/kubernetes/networking/configure-listeners/[listeners
documentation].

*Default:*

....
{"admin":{"external":{"default":{"advertisedPorts":[31644],"port":9645,"tls":{"cert":"external"}}},"port":9644,"tls":{"cert":"default","requireClientAuth":false}},"http":{"authenticationMethod":null,"enabled":true,"external":{"default":{"advertisedPorts":[30082],"authenticationMethod":null,"port":8083,"tls":{"cert":"external","requireClientAuth":false}}},"port":8082,"tls":{"cert":"default","requireClientAuth":false}},"kafka":{"authenticationMethod":null,"external":{"default":{"advertisedPorts":[31092],"authenticationMethod":null,"port":9094,"tls":{"cert":"external"}}},"port":9093,"tls":{"cert":"default","requireClientAuth":false}},"rpc":{"port":33145,"tls":{"cert":"default","requireClientAuth":false}},"schemaRegistry":{"authenticationMethod":null,"enabled":true,"external":{"default":{"advertisedPorts":[30081],"authenticationMethod":null,"port":8084,"tls":{"cert":"external","requireClientAuth":false}}},"port":8081,"tls":{"cert":"default","requireClientAuth":false}}}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=listeners.admin++[listeners.admin]

Admin API listener (only one).

*Default:*

....
{"external":{"default":{"advertisedPorts":[31644],"port":9645,"tls":{"cert":"external"}}},"port":9644,"tls":{"cert":"default","requireClientAuth":false}}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=listeners.admin.external++[listeners.admin.external]

Optional external access settings.

*Default:*

....
{"default":{"advertisedPorts":[31644],"port":9645,"tls":{"cert":"external"}}}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=listeners.admin.external.default++[listeners.admin.external.default]

Name of the external listener.

*Default:*

....
{"advertisedPorts":[31644],"port":9645,"tls":{"cert":"external"}}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=listeners.admin.external.default.tls++[listeners.admin.external.default.tls]

The port advertised to this listener’s external clients. List one port
if you want to use the same port for each broker (would be the case when
using NodePort service). Otherwise, list the port you want to use for
each broker in order of StatefulSet replicas. If undefined,
`listeners.admin.port` is used.

*Default:* `{"cert":"external"}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=listeners.admin.port++[listeners.admin.port]

The port for both internal and external connections to the Admin API.

*Default:* `9644`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=listeners.admin.tls++[listeners.admin.tls]

Optional TLS section (required if global TLS is enabled)

*Default:*

....
{"cert":"default","requireClientAuth":false}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=listeners.admin.tls.cert++[listeners.admin.tls.cert]

Name of the Certificate used for TLS (must match a Certificate name that
is registered in tls.certs).

*Default:* `"default"`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=listeners.admin.tls.requireClientAuth++[listeners.admin.tls.requireClientAuth]

If true, the truststore file for this listener is included in the
ConfigMap.

*Default:* `false`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=listeners.http++[listeners.http]

HTTP API listeners (aka PandaProxy).

*Default:*

....
{"authenticationMethod":null,"enabled":true,"external":{"default":{"advertisedPorts":[30082],"authenticationMethod":null,"port":8083,"tls":{"cert":"external","requireClientAuth":false}}},"port":8082,"tls":{"cert":"default","requireClientAuth":false}}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=listeners.kafka++[listeners.kafka]

Kafka API listeners.

*Default:*

....
{"authenticationMethod":null,"external":{"default":{"advertisedPorts":[31092],"authenticationMethod":null,"port":9094,"tls":{"cert":"external"}}},"port":9093,"tls":{"cert":"default","requireClientAuth":false}}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=listeners.kafka.external.default.advertisedPorts++[listeners.kafka.external.default.advertisedPorts]

If undefined, `listeners.kafka.external.default.port` is used.

*Default:* `[31092]`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=listeners.kafka.external.default.port++[listeners.kafka.external.default.port]

The port used for external client connections.

*Default:* `9094`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=listeners.kafka.port++[listeners.kafka.port]

The port for internal client connections.

*Default:* `9093`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=listeners.rpc++[listeners.rpc]

RPC listener (this is never externally accessible).

*Default:*

....
{"port":33145,"tls":{"cert":"default","requireClientAuth":false}}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=listeners.schemaRegistry++[listeners.schemaRegistry]

Schema registry listeners.

*Default:*

....
{"authenticationMethod":null,"enabled":true,"external":{"default":{"advertisedPorts":[30081],"authenticationMethod":null,"port":8084,"tls":{"cert":"external","requireClientAuth":false}}},"port":8081,"tls":{"cert":"default","requireClientAuth":false}}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=logging++[logging]

Log-level settings.

*Default:*

....
{"logLevel":"info","usageStats":{"enabled":true}}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=logging.logLevel++[logging.logLevel]

Log level Valid values (from least to most verbose) are: `warn`, `info`,
`debug`, and `trace`.

*Default:* `"info"`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=logging.usageStats++[logging.usageStats]

Send usage statistics back to Redpanda Data. For details, see the
https://docs.redpanda.com/docs/cluster-administration/monitoring/#stats-reporting[stats
reporting documentation].

*Default:* `{"enabled":true}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=monitoring++[monitoring]

Monitoring. This will create a ServiceMonitor that can be used by
Prometheus-Operator or VictoriaMetrics-Operator to scrape the metrics.

*Default:*

....
{"enabled":false,"labels":{},"scrapeInterval":"30s"}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=nameOverride++[nameOverride]

Override `redpanda.name` template.

*Default:* `""`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=podTemplate.annotations++[podTemplate.annotations]

Annotations to apply (or overwrite the default) to all Pods of this
Chart.

*Default:* `{}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=podTemplate.labels++[podTemplate.labels]

Labels to apply (or overwrite the default) to all Pods of this Chart.

*Default:* `{}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=podTemplate.spec++[podTemplate.spec]

A subset of Kubernetes’ PodSpec type that will be merged into the
PodSpec of all Pods for this Chart. See link:#merging-semantics[Merge
Semantics] for details.

*Default:*

....
{"imagePullSecrets":[],"securityContext":{"fsGroup":101,"fsGroupChangePolicy":"OnRootMismatch","runAsUser":101}}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=podTemplate.spec.imagePullSecrets++[podTemplate.spec.imagePullSecrets]

Pull secrets may be used to provide credentials to image repositories
See the
https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/[Kubernetes
documentation].

*Default:* `[]`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=post_install_job.enabled++[post_install_job.enabled]

*Default:* `true`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=post_install_job.podTemplate.annotations++[post_install_job.podTemplate.annotations]

Annotations to apply (or overwrite the default) to the Pods of this Job.

*Default:* `{}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=post_install_job.podTemplate.labels++[post_install_job.podTemplate.labels]

Labels to apply (or overwrite the default) to the Pods of this Job.

*Default:* `{}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=post_install_job.podTemplate.spec++[post_install_job.podTemplate.spec]

A subset of Kubernetes’ PodSpec type that will be merged into the final
PodSpec. See link:#merging-semantics[Merge Semantics] for details.

*Default:*

....
{"containers":[{"env":[],"name":"post-install","securityContext":{}}],"securityContext":{}}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=rackAwareness++[rackAwareness]

Rack Awareness settings. For details, see the
https://docs.redpanda.com/docs/manage/kubernetes/kubernetes-rack-awareness/[Rack
Awareness documentation].

*Default:*

....
{"enabled":false,"nodeAnnotation":"topology.kubernetes.io/zone"}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=rackAwareness.enabled++[rackAwareness.enabled]

When running in multiple racks or availability zones, use a Kubernetes
Node annotation value as the Redpanda rack value. Enabling this requires
running with a service account with ``get'' Node permissions. To have
the Helm chart configure these permissions, set
`serviceAccount.create=true` and `rbac.enabled=true`.

*Default:* `false`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=rackAwareness.nodeAnnotation++[rackAwareness.nodeAnnotation]

The common well-known annotation to use as the rack ID. Override this
only if you use a custom Node annotation.

*Default:*

....
"topology.kubernetes.io/zone"
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=rbac++[rbac]

Role Based Access Control.

*Default:*

....
{"annotations":{},"enabled":true,"rpkDebugBundle":true}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=rbac.annotations++[rbac.annotations]

Annotations to add to the `rbac` resources.

*Default:* `{}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=rbac.enabled++[rbac.enabled]

Controls whether or not Roles, ClusterRoles, and bindings thereof will
be generated. Disabling this very likely result in a non-functional
deployment. If you use the Redpanda Operator, you must deploy it with
the `--set rbac.createRPKBundleCRs=true` flag to give it the required
ClusterRoles.

*Default:* `true`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=rbac.rpkDebugBundle++[rbac.rpkDebugBundle]

Controls whether or not a Role and RoleBinding will be generated for the
permissions required by `rpk debug bundle`. Disabling will not affect
the redpanda deployment itself but a bundle is required to engage with
our support.

*Default:* `true`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=resources++[resources]

Pod resource management. This section simplifies resource allocation for
the redpanda container by providing a single location where resources
are defined.

Resources may be specified by either setting `resources.cpu` and
`resources.memory` (the default) or by setting `resources.requests` and
`resources.limits`.

For details on `resources.cpu` and `resources.memory`, see their
respective documentation below.

When `resources.limits` and `resources.requests` are set, the redpanda
container’s resources will be set to exactly the provided values. This
allows users to granularly control limits and requests to best suit
their use case. For example: `resources.requests.cpu` may be set without
setting `resources.limits.cpu` to avoid the potential of CPU throttling.

Redpanda’s resource related CLI flags will then be calculated as
follows: *
`--smp max(1, floor(coalesce(resources.requests.cpu, resources.limits.cpu)))`
*
`--memory coalesce(resources.requests.memory, resources.limits.memory) * 90%`
* `--reserve-memory 0` *
`--overprovisioned coalesce(resources.requests.cpu, resources.limits.cpu) < 1000m`

If neither a request nor a limit is provided for cpu or memory, the
corresponding flag will be omitted. As a result, setting
`resources.limits` and `resources.requests` to `{}` will result in
redpanda being run without `--smp` or `--memory`. (This is not
recommended).

If the computed CLI flags are undesirable, they may be overridden by
specifying the desired value through
`statefulset.additionalRedpandaCmdFlags`.

The default values are for a development environment. Production-level
values and other considerations are documented, where those values are
different from the default. For details, see the
https://docs.redpanda.com/docs/manage/kubernetes/manage-resources/[Pod
resources documentation].

*Default:*

....
{"cpu":{"cores":1},"memory":{"container":{"max":"2.5Gi"}}}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=resources.cpu++[resources.cpu]

CPU resources. For details, see the
https://docs.redpanda.com/docs/manage/kubernetes/manage-resources/#configure-cpu-resources[Pod
resources documentation].

*Default:* `{"cores":1}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=resources.cpu.cores++[resources.cpu.cores]

Redpanda makes use of a thread per core model. For details, see this
https://redpanda.com/blog/tpc-buffers[blog]. For this reason, Redpanda
should only be given full cores. Note: You can increase cores, but
decreasing cores is supported only from 24.3 Redpanda version. This
setting is equivalent to `--smp`, `resources.requests.cpu`, and
`resources.limits.cpu`. For production, use `4` or greater. To maximize
efficiency, use the `static` CPU manager policy by specifying an even
integer for CPU resource requests and limits. This policy gives the Pods
running Redpanda brokers access to exclusive CPUs on the node. See
https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#static-policy.

*Default:* `1`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=resources.memory++[resources.memory]

Memory resources For details, see the
https://docs.redpanda.com/docs/manage/kubernetes/manage-resources/#configure-memory-resources[Pod
resources documentation].

*Default:*

....
{"container":{"max":"2.5Gi"}}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=resources.memory.container++[resources.memory.container]

Enables memory locking. For production, set to `true`.
enable_memory_locking: false It is recommended to have at least 2Gi of
memory per core for the Redpanda binary. This memory is taken from the
total memory given to each container. The Helm chart allocates 80% of
the container’s memory to Redpanda, leaving the rest for other container
processes. So at least 2.5Gi per core is recommended in order to ensure
Redpanda has a full 2Gi. These values affect `--memory` and
`--reserve-memory` flags passed to Redpanda and the memory
requests/limits in the StatefulSet. Valid suffixes: k, M, G, T, P, Ki,
Mi, Gi, Ti, Pi To create `Guaranteed` Pod QoS for Redpanda brokers,
provide both container max and min values for the container. For
details, see
https://kubernetes.io/docs/tasks/configure-pod-container/quality-service-pod/#create-a-pod-that-gets-assigned-a-qos-class-of-guaranteed
* Every container in the Pod must have a memory limit and a memory
request. * For every container in the Pod, the memory limit must equal
the memory request.

*Default:* `{"max":"2.5Gi"}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=resources.memory.container.max++[resources.memory.container.max]

Maximum memory count for each Redpanda broker. Equivalent to
`resources.limits.memory`. For production, use `10Gi` or greater.

*Default:* `"2.5Gi"`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=serviceAccount++[serviceAccount]

Service account management.

*Default:*

....
{"annotations":{},"create":true,"name":""}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=serviceAccount.annotations++[serviceAccount.annotations]

Annotations to add to the service account.

*Default:* `{}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=serviceAccount.create++[serviceAccount.create]

Specifies whether a service account should be created.

*Default:* `true`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=serviceAccount.name++[serviceAccount.name]

The name of the service account to use. If not set and
`serviceAccount.create` is `true`, a name is generated using the
`redpanda.fullname` template.

*Default:* `""`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.additionalRedpandaCmdFlags++[statefulset.additionalRedpandaCmdFlags]

Additional flags to pass to redpanda,

*Default:* `[]`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.additionalSelectorLabels++[statefulset.additionalSelectorLabels]

Additional labels to be added to statefulset label selector. For
example, `my.k8s.service: redpanda`.

*Default:* `{}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.budget.maxUnavailable++[statefulset.budget.maxUnavailable]

*Default:* `1`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.initContainerImage.repository++[statefulset.initContainerImage.repository]

*Default:* `"busybox"`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.initContainerImage.tag++[statefulset.initContainerImage.tag]

*Default:* `"latest"`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.initContainers.configurator.additionalCLIArgs++[statefulset.initContainers.configurator.additionalCLIArgs]

*Default:* `[]`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.initContainers.fsValidator.enabled++[statefulset.initContainers.fsValidator.enabled]

*Default:* `false`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.initContainers.fsValidator.expectedFS++[statefulset.initContainers.fsValidator.expectedFS]

*Default:* `"xfs"`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.initContainers.setDataDirOwnership.enabled++[statefulset.initContainers.setDataDirOwnership.enabled]

In environments where root is not allowed, you cannot change the
ownership of files and directories. Enable `setDataDirOwnership` when
using default minikube cluster configuration.

*Default:* `false`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.podAntiAffinity.custom++[statefulset.podAntiAffinity.custom]

Change `podAntiAffinity.type` to `custom` and provide your own
podAntiAffinity rules here.

*Default:* `{}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.podAntiAffinity.topologyKey++[statefulset.podAntiAffinity.topologyKey]

The topologyKey to be used. Can be used to spread across different
nodes, AZs, regions etc.

*Default:* `"kubernetes.io/hostname"`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.podAntiAffinity.type++[statefulset.podAntiAffinity.type]

Valid anti-affinity types are `soft`, `hard`, or `custom`. Use `custom`
if you want to supply your own anti-affinity rules in the
`podAntiAffinity.custom` object.

*Default:* `"hard"`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.podAntiAffinity.weight++[statefulset.podAntiAffinity.weight]

Weight for `soft` anti-affinity rules. Does not apply to other
anti-affinity types.

*Default:* `100`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.podTemplate.annotations++[statefulset.podTemplate.annotations]

Additional annotations to apply to the Pods of the StatefulSet.

*Default:* `{}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.podTemplate.labels++[statefulset.podTemplate.labels]

Additional labels to apply to the Pods of the StatefulSet.

*Default:* `{}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.podTemplate.spec++[statefulset.podTemplate.spec]

A subset of Kubernetes’ PodSpec type that will be merged into the final
PodSpec. See link:#merging-semantics[Merge Semantics] for details.

*Default:*

....
{"affinity":{"podAntiAffinity":{"requiredDuringSchedulingIgnoredDuringExecution":[{"labelSelector":{"matchLabels":{"app.kubernetes.io/component":"{{ include \"redpanda.name\" . }}-statefulset","app.kubernetes.io/instance":"{{ .Release.Name }}","app.kubernetes.io/name":"{{ include \"redpanda.name\" . }}"}},"topologyKey":"kubernetes.io/hostname"}]}},"nodeSelector":{},"priorityClassName":"","securityContext":{},"terminationGracePeriodSeconds":90,"tolerations":[],"topologySpreadConstraints":[{"labelSelector":{"matchLabels":{"app.kubernetes.io/component":"{{ include \"redpanda.name\" . }}-statefulset","app.kubernetes.io/instance":"{{ .Release.Name }}","app.kubernetes.io/name":"{{ include \"redpanda.name\" . }}"}},"maxSkew":1,"topologyKey":"topology.kubernetes.io/zone","whenUnsatisfiable":"ScheduleAnyway"}]}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.podTemplate.spec.nodeSelector++[statefulset.podTemplate.spec.nodeSelector]

Node selection constraints for scheduling Pods of this StatefulSet.
These constraints override the global `nodeSelector` value. For details,
see the
https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector[Kubernetes
documentation].

*Default:* `{}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.podTemplate.spec.priorityClassName++[statefulset.podTemplate.spec.priorityClassName]

PriorityClassName given to Pods of this StatefulSet. For details, see
the
https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass[Kubernetes
documentation].

*Default:* `""`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.podTemplate.spec.terminationGracePeriodSeconds++[statefulset.podTemplate.spec.terminationGracePeriodSeconds]

Termination grace period in seconds is time required to execute preStop
hook which puts particular Redpanda Pod (process/container) into
maintenance mode. Before settle down on particular value please put
Redpanda under load and perform rolling upgrade or rolling restart. That
value needs to accommodate two processes: * preStop hook needs to put
Redpanda into maintenance mode * after preStop hook Redpanda needs to
handle gracefully SIGTERM signal Both processes are executed
sequentially where preStop hook has hard deadline in the middle of
terminationGracePeriodSeconds. REF:
https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#hook-handler-execution
https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-termination

*Default:* `90`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.podTemplate.spec.tolerations++[statefulset.podTemplate.spec.tolerations]

Taints to be tolerated by Pods of this StatefulSet. These tolerations
override the global tolerations value. For details, see the
https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/[Kubernetes
documentation].

*Default:* `[]`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.replicas++[statefulset.replicas]

Number of Redpanda brokers (Redpanda Data recommends setting this to the
number of worker nodes in the cluster)

*Default:* `3`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.sideCars.brokerDecommissioner.decommissionAfter++[statefulset.sideCars.brokerDecommissioner.decommissionAfter]

*Default:* `"60s"`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.sideCars.brokerDecommissioner.decommissionRequeueTimeout++[statefulset.sideCars.brokerDecommissioner.decommissionRequeueTimeout]

*Default:* `"10s"`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.sideCars.brokerDecommissioner.enabled++[statefulset.sideCars.brokerDecommissioner.enabled]

*Default:* `false`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.sideCars.configWatcher.enabled++[statefulset.sideCars.configWatcher.enabled]

*Default:* `true`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.sideCars.controllers.createRBAC++[statefulset.sideCars.controllers.createRBAC]

*Default:* `true`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.sideCars.controllers.enabled++[statefulset.sideCars.controllers.enabled]

*Default:* `false`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.sideCars.controllers.healthProbeAddress++[statefulset.sideCars.controllers.healthProbeAddress]

*Default:* `":8085"`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.sideCars.controllers.metricsAddress++[statefulset.sideCars.controllers.metricsAddress]

*Default:* `":9082"`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.sideCars.controllers.pprofAddress++[statefulset.sideCars.controllers.pprofAddress]

*Default:* `":9083"`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.sideCars.controllers.run%5B0%5D++[statefulset.sideCars.controllers.run[0]]

*Default:* `"all"`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.sideCars.image.repository++[statefulset.sideCars.image.repository]

*Default:*

....
"docker.redpanda.com/redpandadata/redpanda-operator"
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.sideCars.image.tag++[statefulset.sideCars.image.tag]

*Default:* `"v25.1.1-beta3"`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.sideCars.pvcUnbinder.enabled++[statefulset.sideCars.pvcUnbinder.enabled]

*Default:* `false`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.sideCars.pvcUnbinder.unbindAfter++[statefulset.sideCars.pvcUnbinder.unbindAfter]

*Default:* `"60s"`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=statefulset.updateStrategy.type++[statefulset.updateStrategy.type]

*Default:* `"RollingUpdate"`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=storage++[storage]

Persistence settings. For details, see the
https://docs.redpanda.com/docs/manage/kubernetes/configure-storage/[storage
documentation].

*Default:*

....
{"hostPath":"","persistentVolume":{"annotations":{},"enabled":true,"labels":{},"nameOverwrite":"","size":"20Gi","storageClass":""},"tiered":{"config":{"cloud_storage_cache_size":5368709120,"cloud_storage_enable_remote_read":true,"cloud_storage_enable_remote_write":true,"cloud_storage_enabled":false},"credentialsSecretRef":{"accessKey":{"configurationKey":"cloud_storage_access_key"},"secretKey":{"configurationKey":"cloud_storage_secret_key"}},"hostPath":"","mountType":"none","persistentVolume":{"annotations":{},"labels":{},"storageClass":""}}}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=storage.hostPath++[storage.hostPath]

Absolute path on the host to store Redpanda’s data. If unspecified, then
an `emptyDir` volume is used. If specified but
`persistentVolume.enabled` is true, `storage.hostPath` has no effect.

*Default:* `""`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=storage.persistentVolume++[storage.persistentVolume]

If `persistentVolume.enabled` is true, a PersistentVolumeClaim is
created and used to store Redpanda’s data. Otherwise, `storage.hostPath`
is used.

*Default:*

....
{"annotations":{},"enabled":true,"labels":{},"nameOverwrite":"","size":"20Gi","storageClass":""}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=storage.persistentVolume.annotations++[storage.persistentVolume.annotations]

Additional annotations to apply to the created PersistentVolumeClaims.

*Default:* `{}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=storage.persistentVolume.labels++[storage.persistentVolume.labels]

Additional labels to apply to the created PersistentVolumeClaims.

*Default:* `{}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=storage.persistentVolume.nameOverwrite++[storage.persistentVolume.nameOverwrite]

Option to change volume claim template name for tiered storage
persistent volume if tiered.mountType is set to `persistentVolume`

*Default:* `""`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=storage.persistentVolume.storageClass++[storage.persistentVolume.storageClass]

To disable dynamic provisioning, set to `-`. If undefined or empty
(default), then no storageClassName spec is set, and the default dynamic
provisioner is chosen (gp2 on AWS, standard on GKE, AWS & OpenStack).

*Default:* `""`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=storage.tiered.config++[storage.tiered.config]

Tiered Storage settings Requires `enterprise.licenseKey` or
`enterprised.licenseSecretRef` For details, see the
https://docs.redpanda.com/docs/manage/kubernetes/tiered-storage/[Tiered
Storage documentation]. For a list of properties, see
https://docs.redpanda.com/current/reference/properties/object-storage-properties/[Object
Storage Properties].

*Default:*

....
{"cloud_storage_cache_size":5368709120,"cloud_storage_enable_remote_read":true,"cloud_storage_enable_remote_write":true,"cloud_storage_enabled":false}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=storage.tiered.config.cloud_storage_cache_size++[storage.tiered.config.cloud_storage_cache_size]

Maximum size of the disk cache used by Tiered Storage. Default is 20
GiB. See the
https://docs.redpanda.com/docs/reference/object-storage-properties/#cloud_storage_cache_size[property
reference documentation].

*Default:* `5368709120`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=storage.tiered.config.cloud_storage_enable_remote_read++[storage.tiered.config.cloud_storage_enable_remote_read]

Cluster level default remote read configuration for new topics. See the
https://docs.redpanda.com/docs/reference/object-storage-properties/#cloud_storage_enable_remote_read[property
reference documentation].

*Default:* `true`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=storage.tiered.config.cloud_storage_enable_remote_write++[storage.tiered.config.cloud_storage_enable_remote_write]

Cluster level default remote write configuration for new topics. See the
https://docs.redpanda.com/docs/reference/object-storage-properties/#cloud_storage_enable_remote_write[property
reference documentation].

*Default:* `true`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=storage.tiered.config.cloud_storage_enabled++[storage.tiered.config.cloud_storage_enabled]

Global flag that enables Tiered Storage if a license key is provided.
See the
https://docs.redpanda.com/docs/reference/object-storage-properties/#cloud_storage_enabled[property
reference documentation].

*Default:* `false`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=storage.tiered.hostPath++[storage.tiered.hostPath]

Absolute path on the host to store Redpanda’s Tiered Storage cache.

*Default:* `""`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=storage.tiered.persistentVolume.annotations++[storage.tiered.persistentVolume.annotations]

Additional annotations to apply to the created PersistentVolumeClaims.

*Default:* `{}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=storage.tiered.persistentVolume.labels++[storage.tiered.persistentVolume.labels]

Additional labels to apply to the created PersistentVolumeClaims.

*Default:* `{}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=storage.tiered.persistentVolume.storageClass++[storage.tiered.persistentVolume.storageClass]

To disable dynamic provisioning, set to ``-''. If undefined or empty
(default), then no storageClassName spec is set, and the default dynamic
provisioner is chosen (gp2 on AWS, standard on GKE, AWS & OpenStack).

*Default:* `""`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=tests.enabled++[tests.enabled]

*Default:* `true`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=tls++[tls]

TLS settings. For details, see the
https://docs.redpanda.com/docs/manage/kubernetes/security/kubernetes-tls/[TLS
documentation].

*Default:*

....
{"certs":{"default":{"caEnabled":true},"external":{"caEnabled":true}},"enabled":true}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=tls.certs++[tls.certs]

List all Certificates here, then you can reference a specific
Certificate’s name in each listener’s
`listeners.<listener name>.tls.cert` setting.

*Default:*

....
{"default":{"caEnabled":true},"external":{"caEnabled":true}}
....

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=tls.certs.default++[tls.certs.default]

This key is the Certificate name. To apply the Certificate to a specific
listener, reference the Certificate’s name in
`listeners.<listener-name>.tls.cert`.

*Default:* `{"caEnabled":true}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=tls.certs.default.caEnabled++[tls.certs.default.caEnabled]

Indicates whether or not the Secret holding this certificate includes a
`ca.crt` key. When `true`, chart managed clients, such as rpk, will use
`ca.crt` for certificate verification and listeners with
`require_client_auth` and no explicit `truststore` will use `ca.crt` as
their `truststore_file` for verification of client certificates. When
`false`, chart managed clients will use `tls.crt` for certificate
verification and listeners with `require_client_auth` and no explicit
`truststore` will use the container’s CA certificates.

*Default:* `true`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=tls.certs.external++[tls.certs.external]

Example external tls configuration uncomment and set the right key to
the listeners that require them also enable the tls setting for those
listeners.

*Default:* `{"caEnabled":true}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=tls.certs.external.caEnabled++[tls.certs.external.caEnabled]

Indicates whether or not the Secret holding this certificate includes a
`ca.crt` key. When `true`, chart managed clients, such as rpk, will use
`ca.crt` for certificate verification and listeners with
`require_client_auth` and no explicit `truststore` will use `ca.crt` as
their `truststore_file` for verification of client certificates. When
`false`, chart managed clients will use `tls.crt` for certificate
verification and listeners with `require_client_auth` and no explicit
`truststore` will use the container’s CA certificates.

*Default:* `true`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=tls.enabled++[tls.enabled]

Enable TLS globally for all listeners. Each listener must include a
Certificate name in its `<listener>.tls` object. To allow you to enable
TLS for individual listeners, Certificates in `auth.tls.certs` are
always loaded, even if `tls.enabled` is `false`. See
`listeners.<listener-name>.tls.enabled`.

*Default:* `true`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=tuning++[tuning]

Redpanda tuning settings. Each is set to their default values in
Redpanda.

*Default:* `{"tune_aio_events":true}`

=== link:++https://artifacthub.io/packages/helm/redpanda-data/redpanda?modal=values&path=tuning.tune_aio_events++[tuning.tune_aio_events]

Increase the maximum number of outstanding asynchronous IO operations if
the current value is below a certain threshold. This allows Redpanda to
make as many simultaneous IO requests as possible, increasing
throughput. When this option is enabled, Helm creates a privileged
container. If your security profile does not allow this, you can disable
this container by setting `tune_aio_events` to `false`. For more
details, see the
https://docs.redpanda.com/docs/deploy/deployment-option/self-hosted/kubernetes/kubernetes-tune-workers/[tuning
documentation].

*Default:* `true`

== Merging Semantics

The redpanda chart implements a form of object merging that’s roughly a
middleground of
https://kubernetes.io/docs/tasks/manage-kubernetes-objects/update-api-object-kubectl-patch/#use-a-json-merge-patch-to-update-a-deployment[JSON
Merge Patch] and
https://kubernetes.io/docs/tasks/manage-kubernetes-objects/update-api-object-kubectl-patch/#use-a-strategic-merge-patch-to-update-a-deployment[Kubernetes’
Strategic Merge Patch]. This is done to aid end users in setting or
overriding fields that are not directly exposed via the chart.

* Directives are not supported.
* List fields that are merged by a unique key in Kubernetes’ SMP (e.g.
`containers`, `env`) will be merged in a similar awy.
* Only fields explicitly allowed by the chart’s JSON schema will be
merged.
* Additional containers that are not present in the original value will
NOT be added.
* See Chart link:./chart/README.md[README]
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 | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

# First, let's understand the directory structure
find . -name "*helm-spec*" -type f | head -20

Repository: redpanda-data/docs

Length of output: 269


🏁 Script executed:

# Check if the target file exists
find . -path "*/chart/README.md" -type f

Repository: redpanda-data/docs

Length of output: 44


🏁 Script executed:

# Get the full content of the file being reviewed
cat -n modules/reference/pages/k-redpanda-helm-spec.adoc

Repository: redpanda-data/docs

Length of output: 149


🏁 Script executed:

# Check the directory structure around this file
ls -la modules/reference/pages/ | grep -i helm

Repository: redpanda-data/docs

Length of output: 443


🏁 Script executed:

# Look for similar helm-spec files to verify consistency pattern
fd "helm-spec" --type f

Repository: redpanda-data/docs

Length of output: 261


🏁 Script executed:

# Read k-console-helm-spec.adoc to confirm identical pattern
cat -n modules/reference/pages/k-console-helm-spec.adoc

Repository: redpanda-data/docs

Length of output: 157


🏁 Script executed:

# Check git log to understand when these files were created/modified
git log --oneline -n 20 -- modules/reference/pages/k-redpanda-helm-spec.adoc modules/reference/pages/k-console-helm-spec.adoc

Repository: redpanda-data/docs

Length of output: 117


🏁 Script executed:

# Search for any navigation or reference to these external charts
rg "chart/README" --type adoc

Repository: redpanda-data/docs

Length of output: 90


🏁 Script executed:

# Look for documentation about the Helm charts structure
find . -name "README*" -type f | grep -i chart | head -10

Repository: redpanda-data/docs

Length of output: 44


🌐 Web query:

Redpanda Helm chart repository README external documentation

💡 Result:

The Redpanda Helm charts (README + site) are hosted at the Redpanda charts site and GitHub; the official external documentation (chart specification and values.yaml docs) is on Redpanda’s docs site:

  • Helm chart repo / README (charts site, links to GitHub): charts.redpanda.com (README & usage). [1]
  • Official Helm chart specification (values.yaml / settings / install notes) on Redpanda docs. [2]
  • Source repository and releases on GitHub (redpanda-data/helm-charts). [3]

References
[1] charts.redpanda.com — Redpanda Kubernetes Helm Charts.
[2] docs.redpanda.com — Redpanda Helm Chart Specification (values.yaml).
[3] github.com/redpanda-data/helm-charts — repository & releases.


🌐 Web query:

best practices external Helm chart documentation linking from docs site

💡 Result:

Concise best practices for linking external Helm chart docs from your docs site:

  1. Link to a stable, versioned URL (pin chart version/tag) and show the exact chart version you tested. (docs.helm.sh)
  2. Provide a short in-doc summary (what the chart installs, key values, required CRDs/RBAC) so readers don’t have to leave the page. (kubernetes.io)
  3. Include copy-pastable install/upgrade commands for both helm repo and OCI installs, with --version or exact OCI tag. (blog.helm.sh)
  4. Surface a link to the chart’s README + values.yaml and include a curated “values reference” snippet for commonly changed settings. (artifacthub.io)
  5. Call out provenance & verification: publisher, repo URL, signing/provenance if available, and whether you validated the chart (tests/CI). (artifacthub.io)
  6. Note security posture: known CVEs, image-scan reports (Artifact Hub or vendor), and any extra runtime requirements or privileges. (blog.artifacthub.io)
  7. Link to changelog / upgrade notes and document compatibility (Kubernetes/Helm versions) and migration steps. (v2.helm.sh)
  8. Prefer HTTPS links, open external links in a new tab, and mark them as external with an icon/aria label (accessibility). (kubernetes.io)
  9. Archive or snapshot (e.g., include tested chart tgz or link to an artifact registry) for reproducibility when possible. (cloud.google.com)

If you want, I can draft a short docs template or example snippet implementing these items.

Citations:


🏁 Script executed:

# Search for build/antora configuration
find . -name "antora*" -o -name "build*" -o -name "*playbook*" | head -20

Repository: redpanda-data/docs

Length of output: 183


🏁 Script executed:

# Look for any path transformation or link rewriting rules
rg "chart/README" --type yaml --type toml --type json

Repository: redpanda-data/docs

Length of output: 44


🏁 Script executed:

# Check if there's documentation about this pattern in the repo
find . -name "CONTRIBUTING*" -o -name "BUILD*" -o -name "*docs-setup*"

Repository: redpanda-data/docs

Length of output: 44


🏁 Script executed:

# Search for any references to external chart repos in config files
rg "helm-charts\|charts\.redpanda" --max-count 10

Repository: redpanda-data/docs

Length of output: 44


🏁 Script executed:

# Read the Antora configuration
cat antora.yml

Repository: redpanda-data/docs

Length of output: 5750


🏁 Script executed:

# Read the build workflow to check for link validation
cat .github/workflows/build.yml | head -100

Repository: redpanda-data/docs

Length of output: 907


🏁 Script executed:

# Check local playbook for any special configuration
cat local-antora-playbook.yml

Repository: redpanda-data/docs

Length of output: 3781


Fix broken relative link: ./chart/README.md does not exist in the repository.

The relative path ./chart/README.md cannot resolve in the Antora build context—this file does not exist in modules/reference/. This same broken pattern appears in k-console-helm-spec.adoc.

Instead, link directly to the external Helm chart repository. Per industry best practices for Helm documentation, include:

  • A versioned URL to the actual chart (e.g., GitHub release or charts.redpanda.com)
  • The chart version being documented
  • A brief in-doc summary of what the chart installs (so readers don't need to leave the page)

Example: Replace the relative link with an external URL like https://github.com/redpanda-data/helm-charts/tree/<version>/charts/redpanda and add a summary of key installation details.

🤖 Prompt for AI Agents
In modules/reference/pages/k-redpanda-helm-spec.adoc lines 1-3, the relative
link `./chart/README.md` is broken and should be replaced with a versioned
external chart URL and an in-doc summary; update the link to a stable URL such
as https://github.com/redpanda-data/helm-charts/tree/<version>/charts/redpanda
(substitute the actual chart version), add a one-paragraph summary describing
what the chart installs (components, defaults, and any CRDs) and state the chart
version being documented, and apply the same fix pattern to
modules/reference/pages/k-console-helm-spec.adoc if it contains the same broken
relative link.

@JakeSCahill JakeSCahill closed this Dec 4, 2025
@JakeSCahill JakeSCahill deleted the auto-docs/update- branch December 4, 2025 13:07
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