Skip to content

Conversation

@micheleRP
Copy link
Contributor

@micheleRP micheleRP commented Dec 10, 2025

Description

This pull request adds Cloud UI workflows to the disaster recovery shadowing guides. It introduces Cloud UI instructions alongside existing rpk and API steps using tabs, plus some general improvements to wording and organization.

  • Added Cloud UI instructions as a tabbed option in multiple locations. [1] [2] [3] [4] [5] [6] [7]
  • Clarifyied property limitations in the Cloud UI and directed users to rpk or the API for full configuration in setup.adoc.
  • Refactored secret creation instructions to use tabs for Cloud UI, rpk, and API methods, and added step-by-step Cloud UI guidance for shadow link creation and editing. [1] [2]
  • Improved wording for listing and viewing shadow links and configuration details, making instructions clearer and more consistent. [1] [2] [3]

Page previews

Configure
Monitor
Failover
Failover Runbook

Checks

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

@micheleRP micheleRP requested a review from a team as a code owner December 10, 2025 23:02
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 10, 2025

Important

Review skipped

Auto incremental reviews are disabled on this repository.

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

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

📝 Walkthrough

Walkthrough

This PR adds Cloud UI documentation to the Redpanda disaster recovery shadowing feature across four documentation files. Changes include introducing Cloud UI placeholder blocks with deferred content in failover-runbook.adoc, adding step-by-step Cloud UI instructions for failover procedures in failover.adoc, introducing Cloud UI navigation guidance with non-executable phrasing in monitor.adoc, and adding Cloud UI secret creation and shadow link creation/editing flows alongside existing rpk and API documentation in setup.adoc. No functional code changes or exported entity modifications are introduced.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10–15 minutes

  • Documentation-only changes with consistent patterns across four files
  • Additions primarily involve Cloud UI navigation guidance, placeholder blocks, and reorganization into tabbed sections
  • Reviewers should verify consistency of Cloud UI instructions, accuracy of navigation paths, and proper formatting of conditional blocks across all modified files

Possibly related PRs

  • DOC-1667 Document Shadow Link in Cloud #1491: Modifies the same shadowing documentation files to add cloud-specific content and UI/conditional blocks
  • Rpk update 25.3 #1465: Originally created/updated these shadowing documentation files; current PR extends them with Cloud UI content
  • Beta #1478: Concurrent modifications to the same shadowing documentation files with related cloud-specific updates

Suggested reviewers

  • paulohtb6
  • Feediver1
  • rpdevmp

Pre-merge checks and finishing touches

❌ Failed checks (1 warning, 1 inconclusive)
Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description includes a summary of changes, page previews, and checks marked appropriately, but lacks a JIRA ticket reference and review deadline as specified in the template. Add the resolved JIRA ticket number and review deadline to the Description section at the top of the PR.
Title check ❓ Inconclusive The title 'updates for UI' is vague and generic, using non-descriptive phrasing that doesn't convey meaningful information about the specific changes in the changeset. Consider a more specific title like 'Add Cloud UI documentation for disaster recovery shadowing' that clearly describes the main objective of the changes.
✅ Passed checks (1 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

@micheleRP
Copy link
Contributor Author

@coderabbitai review

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 10, 2025

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

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

📜 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 be98351 and af0ceca.

📒 Files selected for processing (4)
  • modules/manage/pages/disaster-recovery/shadowing/failover-runbook.adoc (7 hunks)
  • modules/manage/pages/disaster-recovery/shadowing/failover.adoc (4 hunks)
  • modules/manage/pages/disaster-recovery/shadowing/monitor.adoc (7 hunks)
  • modules/manage/pages/disaster-recovery/shadowing/setup.adoc (3 hunks)
🧰 Additional context used
🧠 Learnings (3)
📚 Learning: 2025-11-25T09:42:15.235Z
Learnt from: CR
Repo: redpanda-data/docs PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-11-25T09:42:15.235Z
Learning: Applies to docs-data/property-overrides.json : In property descriptions, never add cloud-specific conditional blocks or notes about BYOC, Dedicated, or read-only status

Applied to files:

  • modules/manage/pages/disaster-recovery/shadowing/failover-runbook.adoc
📚 Learning: 2025-05-07T01:06:00.937Z
Learnt from: kbatuigas
Repo: redpanda-data/docs PR: 1113
File: modules/manage/partials/iceberg/use-iceberg-catalogs.adoc:100-107
Timestamp: 2025-05-07T01:06:00.937Z
Learning: In AsciiDoc documentation for Redpanda, the syntax `+` and `--` around content blocks within a `[tabs]` section are valid AsciiDoc formatting elements for tabbed content. The `+` after a tab name (like `rpk::`) indicates that the following block belongs to that tab, and the `--` markers enclose the content for that tab. These are not diff artifacts and should not be removed.

Applied to files:

  • modules/manage/pages/disaster-recovery/shadowing/failover-runbook.adoc
📚 Learning: 2025-08-25T21:00:26.626Z
Learnt from: micheleRP
Repo: redpanda-data/docs PR: 1334
File: modules/manage/partials/rbac-dp.adoc:93-98
Timestamp: 2025-08-25T21:00:26.626Z
Learning: In cloud documentation (env-cloud), Security is at the top level navigation, so ACL references should use `security:authorization/rbac/acl.adoc`. In self-managed documentation, Security is nested under Manage, so ACL references use `manage:security/authorization/acl.adoc`. The different xref paths in conditional blocks reflect these different navigation structures.

Applied to files:

  • modules/manage/pages/disaster-recovery/shadowing/monitor.adoc
  • modules/manage/pages/disaster-recovery/shadowing/setup.adoc
🔇 Additional comments (5)
modules/manage/pages/disaster-recovery/shadowing/setup.adoc (5)

107-114: Clarify the {ui} placeholder.

Line 109 uses {ui} as a placeholder attribute. Verify this resolves correctly in the documentation build system. If {ui} is not a standard AsciiDoc attribute, replace it with the literal text "the Cloud UI" or "Cloud UI" for clarity.

-Not all filters are available in {ui}. For full filter configuration, use `rpk` or the API.
+Not all filters are available in the Cloud UI. For full filter configuration, use `rpk` or the API.

270-290: Excellent tabbed secret creation interface.

The three-option tabs (Cloud UI, rpk, Data Plane API) provide clear, parallel paths for users to choose their preferred method. Each option is concise and actionable.


296-306: Well-structured Cloud UI shadow link creation steps.

The five numbered steps are clear and comprehensive. The note about advanced settings and filter limitations (line 304) correctly directs users to rpk/API for full configuration. One minor suggestion: line 302 could explicitly mention "in the shadow cluster" to clarify which cluster context the user is operating in, though the earlier context makes this clear.


314-382: Control Plane API payload is well-documented.

The curl example includes detailed comments explaining each field, with helpful placeholder examples. The post-command explanation of replaceable values (lines 369–377) is thorough and aids users in adapting the request to their environment.


698-706: Cloud UI shadow link editing instructions are clear and parallel.

The edit flow mirrors the creation flow appropriately, providing five steps covering navigation, selection, modification, and confirmation. The reference to "Secrets Store" (line 276) and note about needing all ACLs (line 275) are helpful context additions.

@netlify
Copy link

netlify bot commented Dec 11, 2025

Deploy Preview for redpanda-docs-preview ready!

Name Link
🔨 Latest commit d4c1204
🔍 Latest deploy log https://app.netlify.com/projects/redpanda-docs-preview/deploys/693c5d9d5c08be0008768823
😎 Deploy Preview https://deploy-preview-1511--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.

@simon0191
Copy link
Member

In here, at the bottom right, let's also add the --for-cloud flag

image

@simon0191
Copy link
Member

source_cluster_id might be confused with source_redpanda_id. Let's clarify.

cloud_options.source_redpanda_id

Let's clarify that source_redpanda_id is the cloud ID. It's a 20 characters, all lowercase ID and it looks like m7xtv2qq5njbhwruk88f.

Also, it's optional and if you specify source_redpanda_id you don't need to specify bootstrap_servers, and vice versa.

client_options.source_cluster_id

source_cluster_id is always optional, and it's the ID assigned by Redpanda itself. It's a UUID and looks like a882bc98-7aca-40f6-a657-36a0b4daf1fd.
It's not available in Redpanda cloud clusters, but it can be obtained from a self hosted cluster by running rpk cluster config get cluster_id.

image

@simon0191
Copy link
Member

In cloud we don't support the tls_file_settings section for tls because we don't allow our customers to upload files.

Instead we only support tls_pem_settings. So this part should look like this:

  tls_settings:
    enabled: true
    tls_pem_settings:
      ca: |-
        -----BEGIN CERTIFICATE-----
        ...
        -----END CERTIFICATE-----
      key: ${secrets.KEY_FROM_SHADOW_CLUSTER_SECRET_STORE} # dataplane secret in the shadow cluster
      cert: |-
        -----BEGIN CERTIFICATE-----
        ...
        -----END CERTIFICATE-----
image

@simon0191
Copy link
Member

Because the shadow cluster pulls from the source cluster, the shadow cluster requires credentials to connect to the source cluster. And because you cannot store plaintext passwords in Redpanda Cloud, you must create a secret to hold the password for the user on the source cluster.

... And if using mTLS, you must also create a secret to hold the key of the client certificate for the client to authenticate. That secret should be referenced in client_options.tls_settings.key

@simon0191
Copy link
Member

It'd be nice if in the UI docs we can point to the UI links. For example, for secrets https://cloud.redpanda.com/clusters/<SHADOW_CLUSTER_ID>/secrets

@simon0191
Copy link
Member

In the comment of password let's use as an example a dataplane secret. i.e. ${secrets.SASL_SECRET}
image

# Conflicts:
#	modules/manage/pages/disaster-recovery/shadowing/setup.adoc
. Click *Create shadow link*.
. Enter a unique name for the shadow link. The name must start and end with lowercase alphanumeric characters, hyphens allowed.
. Select the source cluster from which data will be replicated. You can select an existing Redpanda Cloud cluster, or you can enter a bootstrap server URL to connect to any Kafka-compatible cluster. For an existing Redpanda Cloud cluster, you select the specific cluster on the next page.
. Enter the authorization and authentication details for the source cluster, including the user and the name of the secret containing the password created in the previous step.
Copy link
Contributor

Choose a reason for hiding this comment

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

Should this say "for the shadow cluster"? Or, "enter the... details from the source cluster"?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

changed to from

@simon0191
Copy link
Member

In here it should be like this:

  tls_settings:
    enabled: true
    tls_pem_settings:
      ca: |-
        -----BEGIN CERTIFICATE-----
        ...
        -----END CERTIFICATE-----
      key: ${secrets.KEY_FROM_SHADOW_CLUSTER_SECRET_STORE}
      cert: |-
        -----BEGIN CERTIFICATE-----
        ...
        -----END CERTIFICATE-----
image

@micheleRP micheleRP merged commit 507d494 into DOC-1842-shadowing-in-cloud-api Dec 12, 2025
7 checks passed
@micheleRP micheleRP deleted the updates-for-UI branch December 12, 2025 18:33
micheleRP added a commit that referenced this pull request Dec 12, 2025
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.

4 participants