byoc: update pricing, support, billing, connect, export#23333
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughThis 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. ChangesBYOC documentation coverage
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested labels: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
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
📒 Files selected for processing (10)
TOC-tidb-cloud-byoc.mdtidb-cloud/byoc/byoc-onboarding-overview.mdtidb-cloud/premium/backup-and-restore-premium.mdtidb-cloud/premium/connect-to-premium-via-aws-private-endpoint.mdtidb-cloud/premium/connect-to-premium-via-public-connection.mdtidb-cloud/premium/connect-to-tidb-instance.mdtidb-cloud/premium/delete-tidb-instance.mdtidb-cloud/premium/premium-export.mdtidb-cloud/tidb-cloud-billing.mdtidb-cloud/tidb-cloud-support.md
| <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> |
There was a problem hiding this comment.
📐 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
doneRepository: 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"
fiRepository: 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/**' || trueRepository: 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
- Continued item
- 1: https://macmdviewer.com/blog/markdown-ordered-list
- 2: https://allmarkdowntools.com/reference/ordered-list-start
- 3: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/ol
- 4: https://stackoverflow.com/questions/18088955/markdown-continue-numbered-list
- 5: https://meta.stackexchange.com/questions/234384/how-to-start-list-at-certain-number
- 6: https://stackoverflow.com/questions/4615500/how-to-start-a-new-list-continuing-the-numbering-from-the-previous-list
- 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:
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 80Repository: 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}")
PYRepository: 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}")
PYRepository: 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
| - 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) |
There was a problem hiding this comment.
🎯 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.
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
tidb-cloud/premium/backup-and-restore-premium.md (1)
232-236: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winUse BYOC-specific wording inside the BYOC block.
This block renders “Premium or BYOC support...” even though it is shown only for BYOC, and the singular plan name requires “supports.”
{{{ .byoc }}} supports restoring backups from cloud storage (such as Amazon S3) to a new instance. This feature is compatible with backups generated from {{{ .dedicated }}} clusters or TiDB Self-Managed clusters.As per path instructions, this contiguous documentation fix uses a GitHub committable suggestion.
Source: Path instructions
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 01d7c124-e2cd-4447-877e-9a572abca696
📒 Files selected for processing (1)
tidb-cloud/premium/backup-and-restore-premium.md
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
tidb-cloud/premium/backup-and-restore-premium.md (1)
226-256: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick winUpdate
merge_by_toc.pyplan filtering for all Premium/BYOC content.
backup-and-restore-premium.mduses onlyplan="premium"andplan="byoc"blocks, butscripts/merge_by_toc.pystrips everyCustomContentunlessdedicatedis present. When this TOC is consolidated, all 37 custom-content blocks are removed; updatefilter_by_planto preserve the relevant plans, and add rendered-output coverage for these sections.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: e6bae9fc-e4f9-4d47-b5f8-d07b1f7454cc
📒 Files selected for processing (1)
tidb-cloud/premium/backup-and-restore-premium.md
[LGTM Timeline notifier]Timeline:
|
|
/approve |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: lilin90 The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
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.
What is the related PR or file link(s)?
AI agent involvement
Do your changes match any of the following descriptions?
Summary by CodeRabbit