Skip to content

k8s - Create Cloud topics section and Whole Cluster Restore page for Cloud Topics page#1778

Open
david-yu wants to merge 9 commits into
mainfrom
dyu/cloud-topics-whole-cluster-restore
Open

k8s - Create Cloud topics section and Whole Cluster Restore page for Cloud Topics page#1778
david-yu wants to merge 9 commits into
mainfrom
dyu/cloud-topics-whole-cluster-restore

Conversation

@david-yu

@david-yu david-yu commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

What

Adds a new how-to page, Restore Cloud Topics with Whole Cluster Restore (manage:kubernetes/cloud-topics/k-cloud-topics-whole-cluster-restore.adoc), covering:

  • How WCR behaves with Cloud Topics: topics return in cloud storage mode (redpanda.storage.mode=cloud) with their data and offsets, and are immediately writable.
  • Target-cluster deployment with cloud_storage_attempt_cluster_restore_on_bootstrap: true (Operator + Helm tabs), including cloud_topics_enabled: true and the "fully destroy the previous cluster first" caution.
  • Verification steps (rpk cluster storage restore status, storage-mode check, HWM check, produce probe) and turning the bootstrap-restore flag back off afterward.
  • Recovery-point caveat: records acked shortly before the loss may not be covered by the latest metadata; quiescing producers first gives a lossless restore.

The generic procedure stays single-sourced in manage:partial$whole-cluster-restore.adoc — this page xrefs it rather than duplicating it.

Leftnav

Cloud Topics becomes its own tree mirroring the Tiered Storage structure, placed directly above Tiered Storage. The section label opens a new landing page (cloud-topics/index.adoc, :page-layout: index):

*** Cloud Topics            -> cloud-topics/index.adoc
**** Use Cloud Topics       -> cloud-topics/k-cloud-topics.adoc
**** Whole Cluster Restore  -> cloud-topics/k-cloud-topics-whole-cluster-restore.adoc
*** Tiered Storage

k-cloud-topics.adoc moved into cloud-topics/ and keeps its old URL via :page-aliases:; the xref in the operator release notes is repointed. Also adds the new page to the Suggested reading list on the Use Cloud Topics page.

Why

Cloud Topics (v26.1+) had no documented disaster-recovery story: the existing WCR page never mentions Cloud Topics, and its "topics without Tiered Storage enabled will be restored empty" wording implies cloud topics restore empty — they don't.

Validation

Procedure validated end-to-end on official Redpanda v26.1.12 (EKS 1.36, Redpanda Operator, 3 brokers cross-AZ, S3): 10 MB/s sustained produce (383,680 records / 6.29 GB, 0 errors) → producer quiesced → full cluster + PVC wipe → restore on bootstrap → all partitions byte-exact vs pre-wipe baseline (per-partition HWM, count, and sha256 content hash equal; 0 gaps), topic back in cloud mode, new produce continued at the next offset.

🤖 Generated with Claude Code

New how-to page documenting how to recover Cloud Topics onto a new
Kubernetes cluster with Whole Cluster Restore: restore-on-bootstrap
deployment (Operator + Helm), verification that topics return in cloud
storage mode with their data, and the recovery-point caveat.

Nav: Cloud Topics becomes a section with the new page nested under it,
placed directly above Tiered Storage.

Procedure validated end-to-end on Redpanda v26.1.12 (EKS, operator,
3 brokers cross-AZ): 10 MB/s produce, full cluster + PVC wipe, restore
on bootstrap, byte-exact per-partition verification with zero loss.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@david-yu david-yu requested a review from a team as a code owner July 8, 2026 04:12
@netlify

netlify Bot commented Jul 8, 2026

Copy link
Copy Markdown

Deploy Preview for redpanda-docs-preview ready!

Name Link
🔨 Latest commit 7cf6bd3
🔍 Latest deploy log https://app.netlify.com/projects/redpanda-docs-preview/deploys/6a4ec198a46e510008e4999e
😎 Deploy Preview https://deploy-preview-1778--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

coderabbitai Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 8a59757b-3ce8-4a20-9ac7-cad44390af95

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

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

This PR adds a new documentation page describing Whole Cluster Restore for Cloud Topics, covering how it works, recovery point behavior, prerequisites, bootstrap steps for a target cluster, and verification procedures. Navigation entries in nav.adoc are reorganized to add a link to the new page under the existing Cloud Topics section, and the existing Cloud Topics page gains a suggested-reading link to the new page.

Estimated code review effort: 2 (Simple) | ~10 minutes

Changes

File(s) Summary
modules/ROOT/nav.adoc Relocated k-cloud-topics.adoc nav entry and added a nested link to the new Whole Cluster Restore page
modules/manage/pages/kubernetes/k-cloud-topics-whole-cluster-restore.adoc New page detailing Whole Cluster Restore process, prerequisites, bootstrap steps, and verification for Cloud Topics
modules/manage/pages/kubernetes/k-cloud-topics.adoc Added suggested-reading cross-reference to the new page

Related PRs: None identified.

Suggested labels: documentation

Suggested reviewers: None identified.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning Description is detailed, but it misses required template fields like the Jira ticket, review deadline, page previews, and checks. Add the template sections: Description with Jira link and review deadline, Page previews, and Checks with the required checkbox selection.
✅ Passed checks (4 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed Title clearly matches the main change: adding a Cloud Topics section and a Whole Cluster Restore page.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dyu/cloud-topics-whole-cluster-restore

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@david-yu david-yu changed the title Add Whole Cluster Restore page for Cloud Topics k8s - Create Cloud topics section and Whole Cluster Restore page for Cloud Topics page Jul 8, 2026
Mirror the Tiered Storage structure: Cloud Topics is now a section whose
label opens a landing page (cloud-topics/index.adoc), with Use Cloud
Topics and Whole Cluster Restore nested under it. The moved page keeps
its old URL via page-aliases.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@modules/manage/pages/kubernetes/k-cloud-topics-whole-cluster-restore.adoc`:
- Around line 157-168: Update the restore verification example so the expected
topic-config output covers both valid sources, not only DYNAMIC_TOPIC_CONFIG. In
the Cloud Topics restore section, adjust the rpk topic describe <topic-name> -c
example to mention that redpanda.storage.mode can show cloud with either
DYNAMIC_TOPIC_CONFIG or DEFAULT_CONFIG, and keep the wording aligned with the
restore flow described in the surrounding topic-restore guidance.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: c128aa3f-297e-424e-8a95-91ee39f9d437

📥 Commits

Reviewing files that changed from the base of the PR and between 1beb0a1 and 6901005.

📒 Files selected for processing (3)
  • modules/ROOT/nav.adoc
  • modules/manage/pages/kubernetes/k-cloud-topics-whole-cluster-restore.adoc
  • modules/manage/pages/kubernetes/k-cloud-topics.adoc

david-yu and others added 3 commits July 7, 2026 21:31
Concepts (how it works, storage modes, use cases, limitations) now live
on the section landing page; Use Cloud Topics stays a pure how-to and
links back to the index for the overview.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Same pattern as the Tiered Storage page: shared suggested-reading
partial + empty-text xrefs so the theme renders each child page's title
with its description.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

@kbatuigas kbatuigas left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Some suggestions, and I think the Coderabbit one is worth looking at as well.

Comment thread modules/ROOT/nav.adoc Outdated
david-yu and others added 4 commits July 8, 2026 14:28
…ole-cluster-restore.adoc

Co-authored-by: Joyce Fee <102751339+Feediver1@users.noreply.github.com>
…ole-cluster-restore.adoc

Co-authored-by: Joyce Fee <102751339+Feediver1@users.noreply.github.com>
…ole-cluster-restore.adoc

Co-authored-by: Joyce Fee <102751339+Feediver1@users.noreply.github.com>
- Verification example: note the storage.mode source can be
  DEFAULT_CONFIG when inherited from the cluster default (CodeRabbit)
- Add explicit note that "topics restore empty without archival" does
  not apply to Cloud Topics (kbatuigas)
- Nav label: "Whole Cluster Restore for Cloud Topics" to distinguish it
  from the Tiered Storage WCR entry nearby (kbatuigas)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@david-yu david-yu requested a review from kbatuigas July 8, 2026 21:31
@david-yu

david-yu commented Jul 8, 2026

Copy link
Copy Markdown
Contributor Author

Should be ready for re-review.

@david-yu david-yu requested a review from Feediver1 July 8, 2026 21:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants