tiered storage: fix kubernetes specific blocks#1325
Conversation
✅ Deploy Preview for redpanda-docs-preview ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
📝 WalkthroughWalkthroughThis PR updates modules/manage/partials/tiered-storage.adoc with documentation-only edits. It replaces inline Kubernetes env-gating with multi-line ifndef/endif blocks, adds explicit endif markers, and inserts spacing for structure. It adds a new “Set a maximum cache size” section covering cache eviction and trim thresholds with related properties. It expands cloud provider sections with placeholder-replacement guidance and integrates KMS key-management partials for AWS, GCP, and Azure via leveloffset includes. It also adds includes and examples for provider configurations (cloud-storage.yaml, redpanda-cluster.yaml) and updates example commands accordingly. Sequence Diagram(s)sequenceDiagram
autonumber
participant RP as Redpanda Node
participant Cache as Local Cache
participant CS as Cloud Storage
note over RP,Cache: Cache management (new doc section)
loop Every cache_check_interval_ms
RP->>Cache: Measure used bytes
alt used > max_size OR used% > trim_threshold%
RP->>Cache: Evict chunks (per eviction_strategy)
Cache-->>RP: Freed space
else
RP-->>RP: No action
end
end
RP->>CS: Fetch/upload chunks as needed
CS-->>RP: Data/ACK
sequenceDiagram
autonumber
participant Client as Client
participant RP as Redpanda
participant KMS as Cloud KMS
participant CS as Cloud Storage
note over RP,KMS: KMS-integrated tiered storage (docs integration)
Client->>RP: Produce/Consume data
RP->>KMS: Retrieve/unwrap key (per provider config)
KMS-->>RP: Data key/Materials
RP->>CS: Put/Get object (provider bucket/container, region)
CS-->>RP: ACK/Object
RP-->>Client: ACK/Data
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested reviewers
Tip 🔌 Remote MCP (Model Context Protocol) integration is now available!Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats. ✨ Finishing Touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 0
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (4)
modules/manage/partials/tiered-storage.adoc (4)
333-339: Fix GCS Helm example: wrong credentials source (aws → gcp)The GCS IAM role Helm --set example uses
aws_instance_metadata. For GCS it must begcp_instance_metadata. This will misconfigure clusters on GKE.Apply this diff:
--set storage.tiered.config.cloud_storage_enabled=true \ --set storage.tiered.config.cloud_storage_api_endpoint=storage.googleapis.com \ - --set storage.tiered.config.cloud_storage_credentials_source=aws_instance_metadata \ + --set storage.tiered.config.cloud_storage_credentials_source=gcp_instance_metadata \ --set storage.tiered.config.cloud_storage_region=<region> \ --set storage.tiered.config.cloud_storage_bucket=<redpanda-bucket-name>
1352-1367: Remove duplicated YAML header in Operator exampleThe Operator example for “Use a specific StorageClass” repeats the
apiVersion/kind/metadata/spec/chartRef/clusterSpecheader twice inside one code block. This will confuse users copy-pasting.Apply this diff to remove the duplicate header (second occurrence):
-apiVersion: cluster.redpanda.com/v1alpha2 -kind: Redpanda -metadata: - name: redpanda -spec: - chartRef: {} - clusterSpec:
1495-1497: Correct property name and wording: mountType vs mountPath, file vs directoryThe bullets mix up
mountTypewithmountPathand call for a “file” path. The YAML below usesmountType: hostPathand a directory path.Apply this diff:
-. Set the `storage.tiered.mountPath` configuration to `hostPath`. +. Set the `storage.tiered.mountType` configuration to `hostPath`. -. Set the `storage.tiered.hostPath` configuration to the absolute path of a file on the local worker node. +. Set the `storage.tiered.hostPath` configuration to the absolute path of a directory on the local worker node.
1203-1215: Use the correct topic property: redpanda.remote.allow_gaps (underscore)Earlier text and the cluster-level key use
allow_gaps, but the commands here useallowgaps. This inconsistency will fail at runtime.Apply this diff:
-rpk topic alter-config $topic-name --set redpanda.remote.allowgaps=true +rpk topic alter-config $topic-name --set redpanda.remote.allow_gaps=true … -# Disable the gap allowance previously set for the topic. -rpk topic alter-config $topic-name --set redpanda.remote.allowgaps=false +# Disable the gap allowance previously set for the topic. +rpk topic alter-config $topic-name --set redpanda.remote.allow_gaps=false
🧹 Nitpick comments (2)
modules/manage/partials/tiered-storage.adoc (2)
572-576: Remove stray AsciiDoc open block markers around placeholders listThe
--markers around the placeholder list are unnecessary and may alter rendering. Other sections list placeholders without wrapping blocks.Apply this diff:
--- --- - `<account-name>`: The name of your Azure account. - `<container-name>`: The name of the Azure container in your Azure account. - `<managed-identity-client-id>`: The client ID for your Azure managed identity. ---
90-94: Use consistent boolean types in YAML examplesSome examples quote booleans (
"true") while others use native booleans (true). Prefer one style (ideally native booleans) for consistency, unless the Operator specifically requires strings.Apply this diff (if strings are not required):
- cloud_storage_enabled: "true" + cloud_storage_enabled: trueRepeat similarly where applicable in other YAML snippets.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (1)
modules/manage/partials/tiered-storage.adoc(3 hunks)
⏰ 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 (2)
modules/manage/partials/tiered-storage.adoc (2)
1568-1569: Kubernetes gating block correctly closedExplicit endif for the long env-kubernetes block improves readability and reduces gating drift. LGTM.
1622-1624: Non-Kubernetes edit hint gated correctly in both sectionsUsing ifndef::env-kubernetes[] around the “Edit them with rpk cluster config edit” note prevents Helm/Operator confusion on Kubernetes pages. Good consistency.
Also applies to: 1688-1690
kbatuigas
left a comment
There was a problem hiding this comment.
I think this looks good, thanks! Would get @JakeSCahill to confirm that the k8s version of the doc looks correct as well.
Also reminder to rebase to get the link text for the blog updated from the other PR!
Description
Resolves https://redpandadata.atlassian.net/browse/
Review deadline:
Page previews
Checks