Skip to content

byoc: update pricing, support, billing, connect, export#23333

Open
wildpcww wants to merge 1 commit into
pingcap:release-8.5from
wildpcww:updateDocTitles
Open

byoc: update pricing, support, billing, connect, export#23333
wildpcww wants to merge 1 commit into
pingcap:release-8.5from
wildpcww:updateDocTitles

Conversation

@wildpcww

@wildpcww wildpcww commented Jul 22, 2026

Copy link
Copy Markdown
Collaborator

First-time contributors' checklist

What is changed, added or deleted? (Required)

Which TiDB version(s) do your changes apply to? (Required)

Tips for choosing the affected version(s):

By default, CHOOSE MASTER ONLY so your changes will be applied to the next TiDB major or minor releases. If your PR involves a product feature behavior change or a compatibility change, CHOOSE THE AFFECTED RELEASE BRANCH(ES) AND MASTER.

For details, see tips for choosing the affected versions.

  • master (the latest development version)
  • v9.0 (TiDB 9.0 versions)
  • v8.5 (TiDB 8.5 versions)
  • v8.1 (TiDB 8.1 versions)
  • v7.5 (TiDB 7.5 versions)
  • v7.1 (TiDB 7.1 versions)
  • v6.5 (TiDB 6.5 versions)

What is the related PR or file link(s)?

  • This PR is translated from:
  • Other reference link(s):

AI agent involvement

  • The changes in this PR were primarily made by an AI agent on behalf of the PR author.

Do your changes match any of the following descriptions?

  • Delete files
  • Change aliases
  • Need modification after applied to another branch
  • Might cause conflicts after applied to another branch

Summary by CodeRabbit

  • Documentation
    • Expanded Premium documentation to clearly cover BYOC instances across connections, backups, restores, exports, deletion, and networking.
    • Added BYOC-specific guidance for AWS private endpoints, supported restore storage options, and cloud-hosted export permissions.
    • Added BYOC pricing and support-plan requirements, including Enterprise as the minimum support level.
    • Updated navigation and table-of-contents entries to reflect BYOC content and removed outdated links and topics.
    • Improved formatting in the BYOC onboarding deployment phases table.

@ti-chi-bot

ti-chi-bot Bot commented Jul 22, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign overvenus for approval. For more information see the Code Review Process.
Please ensure that each of them provides their approval before proceeding.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@ti-chi-bot ti-chi-bot Bot added contribution This PR is from a community contributor. missing-translation-status This PR does not have translation status info. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Jul 22, 2026
@wildpcww
wildpcww requested a review from lilin90 July 22, 2026 07:11
@coderabbitai

coderabbitai Bot commented Jul 22, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

This documentation update extends Premium guidance to BYOC plans across connection, backup and restore, export, deletion, billing, support, navigation, and onboarding pages. Several sections now use plan-conditional content.

Changes

BYOC connectivity guidance

Layer / File(s) Summary
Connection flows
tidb-cloud/premium/connect-to-tidb-instance.md, tidb-cloud/premium/connect-to-premium-via-public-connection.md, tidb-cloud/premium/connect-to-premium-via-aws-private-endpoint.md
Connection titles, prerequisites, steps, tips, and follow-up guidance now distinguish Premium and BYOC variants.
Backup and restore flows
tidb-cloud/premium/backup-and-restore-premium.md
Backup, restore, cloud-storage, and access instructions now include BYOC-specific content; BYOC cloud restores are limited to Amazon S3 where specified.
Export and deletion guidance
tidb-cloud/premium/premium-export.md, tidb-cloud/premium/delete-tidb-instance.md
Export examples and deletion-related backup guidance now cover BYOC instances.
Billing and support requirements
tidb-cloud/tidb-cloud-billing.md, tidb-cloud/tidb-cloud-support.md
BYOC pricing and Enterprise support-plan requirements are documented in conditional sections.
Navigation and onboarding presentation
TOC-tidb-cloud-byoc.md, tidb-cloud/byoc/byoc-onboarding-overview.md
The BYOC TOC entries are revised, and onboarding responsibility labels use plain text instead of bold formatting.

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

Possibly related PRs

  • pingcap/docs#23286: Updates the same backup-and-restore documentation for BYOC coverage.
  • pingcap/docs#23323: Updates the onboarding overview’s deployment-phase responsibility formatting.

Suggested labels: area/tidb-cloud, type/enhancement

Suggested reviewers: qiancai

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The required change summary is blank, and the related links and AI-agent sections are also unfilled. Fill in what changed and why, add any related PR or file links, and complete the AI-agent section if applicable.
✅ 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 The title accurately summarizes the main BYOC documentation updates across pricing, support, billing, connect, and export.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with 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.

❤️ Share

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

@ti-chi-bot

ti-chi-bot Bot commented Jul 22, 2026

Copy link
Copy Markdown

@wildpcww: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
pull-verify 0eb7308 link true /test pull-verify

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 5


ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 9b25d1ee-e0de-4da5-b68c-95c3ae58ae65

📥 Commits

Reviewing files that changed from the base of the PR and between 7182794 and 0eb7308.

📒 Files selected for processing (10)
  • TOC-tidb-cloud-byoc.md
  • tidb-cloud/byoc/byoc-onboarding-overview.md
  • tidb-cloud/premium/backup-and-restore-premium.md
  • tidb-cloud/premium/connect-to-premium-via-aws-private-endpoint.md
  • tidb-cloud/premium/connect-to-premium-via-public-connection.md
  • tidb-cloud/premium/connect-to-tidb-instance.md
  • tidb-cloud/premium/delete-tidb-instance.md
  • tidb-cloud/premium/premium-export.md
  • tidb-cloud/tidb-cloud-billing.md
  • tidb-cloud/tidb-cloud-support.md

Comment on lines +39 to +51
<CustomContent plan="premium">

4. Click **CA cert** to download CA cert for TLS connection to {{{ .premium }}} instances. The CA cert supports TLS 1.2 by default.

5. Choose your preferred connection method, and then refer to the connection string and sample code on the tab to connect to your instance.

</CustomContent>

<CustomContent plan="byoc">

4. Choose your preferred connection method, and then refer to the connection string and sample code on the tab to connect to your instance.

</CustomContent>

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '\n## .ai guidance\n'
git ls-files '.ai/AI-README.md' '.ai/shared/*' '.ai/skills/*' | sed 's#^`#-` #'

printf '\n## relevant files\n'
git ls-files 'tidb-cloud/premium/connect-to-premium-via-public-connection.md'

printf '\n## file excerpts\n'
for f in .ai/AI-README.md .ai/shared/translation-rules.md .ai/shared/translation-terms.md tidb-cloud/premium/connect-to-premium-via-public-connection.md; do
  if [ -f "$f" ]; then
    echo
    echo "### $f"
    wc -l "$f"
    sed -n '1,220p' "$f" | cat -n
  fi
done

Repository: pingcap/docs

Length of output: 4027


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Locate any workflow or markdown guidance that mentions CustomContent or ordered lists.
rg -n --hidden --glob '.ai/**' --glob '*.md' 'CustomContent|MD029|ordered list|ordered-list|markdownlint|renderer' .

Repository: pingcap/docs

Length of output: 50369


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Inspect the affected Markdown with surrounding context.
sed -n '1,140p' tidb-cloud/premium/connect-to-premium-via-public-connection.md | cat -n

# Check whether markdownlint is available and whether it flags the file.
if command -v markdownlint >/dev/null 2>&1; then
  markdownlint tidb-cloud/premium/connect-to-premium-via-public-connection.md || true
elif [ -x ./scripts/markdownlint ]; then
  ./scripts/markdownlint tidb-cloud/premium/connect-to-premium-via-public-connection.md || true
else
  echo "markdownlint unavailable"
fi

Repository: pingcap/docs

Length of output: 142


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Search for the CustomContent component definition or documentation.
rg -n --hidden --glob '!**/node_modules/**' --glob '!**/.git/**' 'CustomContent' .

Repository: pingcap/docs

Length of output: 50369


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo '## repo guidance files'
for f in .ai/AI-README.md .ai/shared/markdown*.md .ai/shared/*.md .ai/skills/*/README.md; do
  [ -f "$f" ] && echo "$f"
done | sort

echo
echo '## markdownlint config'
git ls-files | rg '(^|/)(\.markdownlint|markdownlint|markdownlint.*\.yml|markdownlint.*\.yaml|\.mdlrc)$' || true

echo
echo '## affected file excerpt'
sed -n '1,120p' tidb-cloud/premium/connect-to-premium-via-public-connection.md | cat -n

echo
echo '## search for CustomContent docs/usage'
rg -n 'CustomContent|MD029|ordered list' . --hidden --glob '!**/.git/**' --glob '!**/node_modules/**' || true

Repository: pingcap/docs

Length of output: 173


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo '--- file ---'
sed -n '1,120p' tidb-cloud/premium/connect-to-premium-via-public-connection.md | cat -n

echo
echo '--- markdownlint config files ---'
find . -maxdepth 3 \( -name '.markdownlint*' -o -name 'markdownlint*' -o -name '.mdlrc' \) -print | sort

echo
echo '--- CustomContent occurrences ---'
grep -RIn --exclude-dir=.git --exclude-dir=node_modules 'CustomContent' .

Repository: pingcap/docs

Length of output: 50369


🌐 Web query:

MDX custom component ordered list numbering start attribute HTML block list continuation

💡 Result:

In standard Markdown and MDX, you can control the numbering of an ordered list by setting the number of the first list item [1][2]. Most Markdown parsers (following the CommonMark specification) translate this first number into the start attribute of the HTML

    element, which then handles the numbering sequence for all subsequent items [3][1][2]. To control list numbering in MDX: 1. Basic Custom Start: Simply start your list with the desired number (e.g., 5. Item) [1][2]. The parser will assign start="5" to the resulting
      tag [3][1]. 2. List Continuation After a Block: If a list is interrupted by a block (like a code block, image, or paragraph), Markdown parsers often interpret the following section as a new list starting at 1 [4][5]. To continue the numbering, you must use the same technique: manually start the resumed list with the next logical number [1][2]. 3. Using Custom Components or HTML: If you need finer control or the automatic parsing is failing to produce the desired output, you can drop into standard HTML within your MDX file [4][5]. This allows you to explicitly set the start attribute on the
        tag:
        1. Continued item
        Alternatively, if you are building a highly customized system using MDX and need consistent styling across interrupted lists, you can use CSS counters [6]. By disabling the default list styles and using CSS counter-reset and counter-increment properties, you can create custom list components that maintain continuity regardless of the document structure [6]. This approach is often preferred when dealing with complex layouts where standard Markdown-to-HTML conversion is insufficient [6].

        Citations:


        🏁 Script executed:

        #!/bin/bash
        set -euo pipefail
        
        echo '## .markdownlint.yaml'
        sed -n '1,220p' .markdownlint.yaml | cat -n
        
        echo
        echo '## scripts/markdownlint'
        sed -n '1,220p' scripts/markdownlint | cat -n
        
        echo
        echo '## docs using CustomContent inside numbered steps'
        rg -n '<CustomContent plan="(premium|byoc)">' tidb-cloud/premium/*.md | head -n 80

        Repository: pingcap/docs

        Length of output: 20998


        🏁 Script executed:

        #!/bin/bash
        set -euo pipefail
        
        echo '## examples of split numbered lists around CustomContent'
        rg -n '^[[:space:]]*[0-9]+\.' tidb-cloud/premium/*.md | sed -n '1,120p'
        
        echo
        echo '## files with MD029 disable comments'
        rg -n '<!-- markdownlint-disable MD029 -->' . --glob '*.md'

        Repository: pingcap/docs

        Length of output: 21816


        🏁 Script executed:

        #!/bin/bash
        set -euo pipefail
        
        python3 - <<'PY'
        from pathlib import Path
        p = Path('tidb-cloud/premium/connect-to-premium-via-public-connection.md')
        text = p.read_text()
        # Show the exact list structure with surrounding lines.
        for i, line in enumerate(text.splitlines(), 1):
            if 35 <= i <= 52:
                print(f"{i:4d}: {line}")
        PY

        Repository: pingcap/docs

        Length of output: 1106


        🏁 Script executed:

        #!/bin/bash
        set -euo pipefail
        
        echo '## .markdownlint.yaml'
        sed -n '1,220p' .markdownlint.yaml | cat -n
        
        echo
        echo '## scripts/markdownlint'
        sed -n '1,220p' scripts/markdownlint | cat -n
        
        echo
        echo '## MD029 disable comments'
        rg -n '<!-- markdownlint-disable MD029 -->' . --glob '*.md' || true
        
        echo
        echo '## similar numbered-list patterns in tidb-cloud/premium'
        rg -n '^[[:space:]]*[0-9]+\.' tidb-cloud/premium/*.md | sed -n '1,160p'

        Repository: pingcap/docs

        Length of output: 31456


        🏁 Script executed:

        #!/bin/bash
        set -euo pipefail
        
        python3 - <<'PY'
        from pathlib import Path
        path = Path('tidb-cloud/premium/connect-to-premium-via-public-connection.md')
        for i, line in enumerate(path.read_text().splitlines(), 1):
            if 35 <= i <= 52:
                print(f"{i:4d}: {line}")
        PY

        Repository: pingcap/docs

        Length of output: 1106


Fix the ordered-list structure in CustomContent (lines 39-51). The premium and BYOC branches become separate ordered lists, so MD029 flags the 4./5./4. prefixes. Keep the steps in one renderer-supported list instead of restarting them inside each block.

🧰 Tools
🪛 markdownlint-cli2 (0.23.0)

[warning] 41-41: Ordered list item prefix
Expected: 1; Actual: 4; Style: 1/2/3

(MD029, ol-prefix)


[warning] 43-43: Ordered list item prefix
Expected: 2; Actual: 5; Style: 1/2/3

(MD029, ol-prefix)


[warning] 49-49: Ordered list item prefix
Expected: 1; Actual: 4; Style: 1/2/3

(MD029, ol-prefix)

Sources: Path instructions, Linters/SAST tools

Comment on lines +6 to +8
# Delete a {{{ .premium }}}<CustomContent plan="byoc"> or {{{ .byoc }}}</CustomContent> instance

This document describes how to delete a {{{ .premium }}} instance.
This document describes how to delete a {{{ .premium }}}<CustomContent plan="byoc"> or {{{ .byoc }}}</CustomContent> instance.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy lift

Preserve BYOC content in the generated documentation.

The merge pipeline currently retains only CustomContent blocks containing dedicated, so all newly added plan="byoc" content is discarded.

  • tidb-cloud/premium/delete-tidb-instance.md#L6-L8: preserve the BYOC title and introduction.
  • tidb-cloud/premium/delete-tidb-instance.md#L24-L36: preserve BYOC backup, retention, billing, and restore guidance.
  • tidb-cloud/premium/premium-export.md#L6-L18: preserve BYOC export availability and request instructions.
  • tidb-cloud/premium/premium-export.md#L36-L36: preserve BYOC role ARN guidance.
  • tidb-cloud/premium/premium-export.md#L103-L108: preserve the Amazon S3 BYOC export steps.
  • tidb-cloud/premium/premium-export.md#L129-L134: preserve the Azure Blob Storage BYOC export steps.
  • tidb-cloud/premium/premium-export.md#L153-L158: preserve the Alibaba Cloud OSS BYOC export steps.
  • tidb-cloud/premium/premium-export.md#L179-L179: preserve the BYOC cancellation instructions.
📍 Affects 2 files
  • tidb-cloud/premium/delete-tidb-instance.md#L6-L8 (this comment)
  • tidb-cloud/premium/delete-tidb-instance.md#L24-L36
  • tidb-cloud/premium/premium-export.md#L6-L18
  • tidb-cloud/premium/premium-export.md#L36-L36
  • tidb-cloud/premium/premium-export.md#L103-L108
  • tidb-cloud/premium/premium-export.md#L129-L134
  • tidb-cloud/premium/premium-export.md#L153-L158
  • tidb-cloud/premium/premium-export.md#L179-L179

5. Click **I understand, delete it**.

Once you delete a backed up {{{ .premium }}} instance, the existing backup files of the instance are moved to the recycle bin.
Once you delete a backed up {{{ .premium }}}<CustomContent plan="byoc"> or {{{ .byoc }}}</CustomContent> instance, the existing backup files of the instance are moved to the recycle bin.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Hyphenate the compound adjective.

Suggested change
Once you delete a backed up {{{ .premium }}}<CustomContent plan="byoc"> or {{{ .byoc }}}</CustomContent> instance, the existing backup files of the instance are moved to the recycle bin.
Once you delete a backed-up {{{ .premium }}}<CustomContent plan="byoc"> or {{{ .byoc }}}</CustomContent> instance, the existing backup files of the instance are moved to the recycle bin.
🧰 Tools
🪛 LanguageTool

[grammar] ~28-~28: Use a hyphen to join words.
Context: ...lete it**. Once you delete a backed up {{{ .premium }}}<CustomContent plan="...

(QB_NEW_EN_HYPHEN)

Sources: Path instructions, Linters/SAST tools

Comment on lines +28 to +34
<CustomContent plan="byoc">

### Pricing for {{{ .byoc }}} {#pricing-for-byoc}

For pricing information about {{{ .byoc }}}, contact [TiDB Cloud Support](/tidb-cloud/tidb-cloud-support.md).

</CustomContent>

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

BYOC conditional blocks are removed during document generation.

scripts/merge_by_toc.py retains plan blocks only when the plan list contains dedicated, but all three new blocks specify only byoc. Consequently, the BYOC pricing and support restrictions will be absent from generated documentation.

  • tidb-cloud/tidb-cloud-billing.md#L28-L34: change the selector to plan="dedicated,byoc".
  • tidb-cloud/tidb-cloud-support.md#L112-L116: change the selector to plan="dedicated,byoc".
  • tidb-cloud/tidb-cloud-support.md#L152-L157: change the selector to plan="dedicated,byoc".
📍 Affects 2 files
  • tidb-cloud/tidb-cloud-billing.md#L28-L34 (this comment)
  • tidb-cloud/tidb-cloud-support.md#L112-L116
  • tidb-cloud/tidb-cloud-support.md#L152-L157

Source: Path instructions

Comment thread TOC-tidb-cloud-byoc.md
Comment on lines +44 to +49
- Connect to Your {{{ .byoc }}} Instance
- [Connection Overview](/tidb-cloud/premium/connect-to-tidb-instance.md)
- [Connect via Public Endpoint](/tidb-cloud/premium/connect-to-premium-via-public-connection.md)
- [Connect via Private Endpoint with AWS](/tidb-cloud/premium/connect-to-premium-via-aws-private-endpoint.md)
- [Connect via Private Endpoint with Alibaba Cloud](/tidb-cloud/premium/connect-to-premium-via-alibaba-cloud-private-endpoint.md)
- [Back Up and Restore TiDB Cloud Data](/tidb-cloud/premium/backup-and-restore-premium.md)
- [Export Data from {{{ .premium }}}](/tidb-cloud/premium/premium-export.md)
- [Export Data from {{{ .byoc }}}](/tidb-cloud/premium/premium-export.md)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Keep the Manage Instances labels consistently BYOC-scoped.

This block now targets BYOC instances, but the same TOC still contains Delete a {{{ .premium }}} Instance at Line 118. Update that entry to the BYOC equivalent, or make its plan conditions explicit, so the BYOC navigation does not present a misleading Premium-only label.

@lilin90 lilin90 self-assigned this Jul 22, 2026
@lilin90 lilin90 added BYOC Related to TiDB Cloud BYOC docs. translation/no-need No need to translate this PR. labels Jul 22, 2026
@ti-chi-bot ti-chi-bot Bot removed the missing-translation-status This PR does not have translation status info. label Jul 22, 2026
@lilin90 lilin90 changed the title update doc titles byoc: update pricing, support, billing, connect, export Jul 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

BYOC Related to TiDB Cloud BYOC docs. contribution This PR is from a community contributor. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. translation/no-need No need to translate this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants