Skip to content

fix: found issues reported by new no-unmatched-anchor rule#604

Open
JounQin wants to merge 1 commit intorelease-4.0from
fix/unmatched-anchors_4.0
Open

fix: found issues reported by new no-unmatched-anchor rule#604
JounQin wants to merge 1 commit intorelease-4.0from
fix/unmatched-anchors_4.0

Conversation

@JounQin
Copy link
Member

@JounQin JounQin commented Mar 20, 2026

Summary by CodeRabbit

  • Documentation

    • Improved documentation structure with enhanced internal cross-references.
    • Updated documentation links to reflect reorganized content sections.
  • Chores

    • Updated package dependency.

Copilot AI review requested due to automatic review settings March 20, 2026 14:59
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 20, 2026

Walkthrough

This PR systematically updates documentation files across the project by adding explicit markdown anchors to section headings, redirecting prerequisite links to a centralized Kubernetes support matrix, normalizing whitespace, and updating a project dependency reference.

Changes

Cohort / File(s) Summary
Backup Configuration
docs/en/configure/backup/backups/hooks.mdx, docs/en/configure/backup/recovery/app.mdx
Added explicit anchor {#backup-hook} to hooks section; updated link from ../backups/app.mdx#hooks to ../backups/hooks.mdx.
Cluster Network Configuration
docs/en/configure/clusters/managed/cloud-init/network/aws-eks-lb.mdx, aws-eks.mdx, azure-aks.mdx, google-gke.mdx, huawei-cce.mdx
Added explicit anchors to section headings (e.g., {#deploy-aws-load-balancer-controller}, {#create-certificate}); updated relative link paths; corrected step numbering; normalized whitespace.
Cluster Storage Configuration
docs/en/configure/clusters/managed/cloud-init/storage/aws-eks.mdx, azure-aks.mdx, google-gke.mdx, huawei-cce.mdx
Added explicit anchors to storage class and prerequisite section headings (e.g., {#configure-available-storage-class-parameters}, {#default-storage-class-description}).
Cluster Import & Registration
docs/en/configure/clusters/managed/import/alibaba-ack.mdx, aws-eks.mdx, azure-aks.mdx, gcp-gke.mdx, huawei-cce.mdx, openshift.mdx, standard-kubernetes.mdx, tencent-tke.mdx, docs/en/configure/clusters/managed/register.mdx
Redirected prerequisite links from /configure/clusters/overview.mdx#version-* to /overview/kubernetes-support-matrix.mdx#version-support-matrix; added/updated heading anchors; normalized trailing whitespace; corrected code fence formatting.
Cluster Management Utilities
docs/en/configure/clusters/managed/how-to/fetch-kubeconfig.mdx, docs/en/configure/clusters/nodes/overview.mdx, docs/en/configure/clusters/on-premises.mdx
Updated anchor markup from HTML span to brace-style syntax; updated "Supported Operating Systems" link target; added {#node-settings} anchor.
Networking & Storage Configuration
docs/en/configure/networking/architecture/understanding_alb.mdx, docs/en/configure/networking/functions/configure_subnet.mdx, create_domain.mdx, docs/en/configure/storage/functions/nfs_storageclass.mdx
Added explicit anchors to section headings for improved in-page linking (e.g., {#rules}, {#add-bridge-network-by-using-the-cli}, {#creating-domain-by-using-the-web-console}).
Developer Documentation
docs/en/developer/building_application/functions/namespace/resource_quota.mdx, security_policies.mdx, update_overcommit.mdx, docs/en/developer/building_application/functions/working_with_helm_charts.mdx, docs/en/developer/s2i/functions/s2i_application_management.mdx
Added explicit anchors to section headings; corrected heading capitalization from "UnderStanding" to "Understanding".
Extension & Plugin Documentation
docs/en/extend/cluster_plugin.mdx, docs/en/extend/upload_package.mdx
Added anchor {#installing-via-yaml} to installation section; normalized trailing double-space characters in violet push command documentation.
Observability
docs/en/observability/monitor/functions/manage_dashboard.mdx
Added {#import-dashboard} anchor; renamed anchor from {#variable} to {#ref-function} on "Common Functions and Variables" section.
Kubernetes Support Matrix
docs/en/overview/kubernetes-support-matrix.mdx
Added {#version-support-matrix} anchor to section heading; ensured file ends with newline.
Security
docs/en/security/users_and_roles/idp/functions/ldap_manage.mdx
Added {#addldap} anchor to "Add LDAP" section heading.
Storage Systems (Ceph)
docs/en/storage/storagesystem_ceph/concepts/concept.mdx, docs/en/storage/storagesystem_ceph/how_to/disaster_recovery/dr_object.mdx
Added explicit anchors ({#rook-operator}, {#ceph-csi}, {#ceph-module-functions}); replaced inline MDX marker with HTML span anchor.
Upgrade Documentation
docs/en/upgrade/overview.mdx
Removed note restricting Kubernetes version upgrades to On-Premises clusters only.
Virtualization
docs/en/virtualization/virtualization/installation.mdx, docs/en/virtualization/virtualization/network/functions/vm_network.mdx, docs/en/virtualization/virtualization/network/how_to/vm_sriov.mdx, docs/en/virtualization/virtualization/virtual_machine/functions/virtual_management.mdx, docs/en/virtualization/virtualization/virtual_machine/how_to/vm_clone.mdx, vm_gpust.mdx
Added/updated section anchors ({#creating-a-hyperconverged-instance}, {#add-service}, {#configure-ip}); updated heading text from "Add Internal Routes" to "Add Service"; replaced anchor formats; normalized whitespace.
Dependencies
package.json
Updated @alauda/doom dependency from semver range ^1.18.2 to pinned resolved reference https://pkg.pr.new/@alauda/doom@0f1b2c8.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

  • #375 — Modifies the same Ceph disaster recovery file with extensive content revisions alongside anchor changes.
  • #527 — Updates backup documentation hooks references, adding/adjusting anchors and updating links to hooks.mdx.
  • #33 — Also updates the @alauda/doom dependency in package.json with a different version/format.

Suggested labels

bug

Suggested reviewers

  • chinameok
  • fanzy618

Poem

🐰 Anchors abound and links do dance,
Through forty docs we take a glance,
New paths to matrix, fresh and clear,
Organization's purpose here!
With doom pinned tight, all set to go, 🎯

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'fix: found issues reported by new no-unmatched-anchor rule' clearly summarizes the main purpose of the changeset: fixing anchor-related issues identified by a new linting rule.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/unmatched-anchors_4.0
📝 Coding Plan
  • Generate coding plan for human review comments

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 and usage tips.

@JounQin
Copy link
Member Author

JounQin commented Mar 20, 2026

@coderabbitai review

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 20, 2026

✅ 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: 2

🧹 Nitpick comments (1)
docs/en/configure/clusters/managed/register.mdx (1)

60-60: Optional wording polish for repeated sentence starts.

Consider varying the imperative verb here (instead of another “Execute...”) to improve readability across the numbered steps.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/en/configure/clusters/managed/register.mdx` at line 60, The sentence at
step 4 repeats the imperative "Execute..." which reduces readability; update
that line in register.mdx to vary the verb (for example use "Run", "Restart", or
"Delete" as appropriate) so it no longer starts with "Execute", while keeping
the command text `kubectl delete pod --all -n rook-ceph` unchanged and
preserving the step numbering and intent.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/en/storage/storagesystem_ceph/how_to/disaster_recovery/dr_object.mdx`:
- Line 263: The fragment id "uid" is duplicated (already used as "#uid"
earlier), so change the span id in this line to a unique identifier (e.g.,
"uid-secondary" or "secondary-gateway-uid") and update any local links that
target this anchor; locate the span with id="uid" in this file (the current
line) and replace the id value with the new unique id to avoid anchor
collisions.

In `@package.json`:
- Line 14: Replace the preview artifact URL dependency for the package
"@alauda/doom" with a stable registry version: locate the dependency entry that
currently reads "@alauda/doom": "https://pkg.pr.new/@alauda/doom@0f1b2c8" and
change it to a semantic version string published to your registry (e.g. "0.1.2"
or a proper npm/dist-tag like "latest") or remove/replace it with an approved
internal package reference; ensure package.json's dependencies/devDependencies
contain only resolved registry versions and run npm/yarn install to verify the
lockfile updates.

---

Nitpick comments:
In `@docs/en/configure/clusters/managed/register.mdx`:
- Line 60: The sentence at step 4 repeats the imperative "Execute..." which
reduces readability; update that line in register.mdx to vary the verb (for
example use "Run", "Restart", or "Delete" as appropriate) so it no longer starts
with "Execute", while keeping the command text `kubectl delete pod --all -n
rook-ceph` unchanged and preserving the step numbering and intent.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 8152e2e7-ff69-4550-be74-294f4652f89a

📥 Commits

Reviewing files that changed from the base of the PR and between f4946b3 and d15edf5.

⛔ Files ignored due to path filters (1)
  • yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (47)
  • docs/en/configure/backup/backups/hooks.mdx
  • docs/en/configure/backup/recovery/app.mdx
  • docs/en/configure/clusters/managed/cloud-init/network/aws-eks-lb.mdx
  • docs/en/configure/clusters/managed/cloud-init/network/aws-eks.mdx
  • docs/en/configure/clusters/managed/cloud-init/network/azure-aks.mdx
  • docs/en/configure/clusters/managed/cloud-init/network/google-gke.mdx
  • docs/en/configure/clusters/managed/cloud-init/network/huawei-cce.mdx
  • docs/en/configure/clusters/managed/cloud-init/storage/aws-eks.mdx
  • docs/en/configure/clusters/managed/cloud-init/storage/azure-aks.mdx
  • docs/en/configure/clusters/managed/cloud-init/storage/google-gke.mdx
  • docs/en/configure/clusters/managed/cloud-init/storage/huawei-cce.mdx
  • docs/en/configure/clusters/managed/how-to/fetch-kubeconfig.mdx
  • docs/en/configure/clusters/managed/import/alibaba-ack.mdx
  • docs/en/configure/clusters/managed/import/aws-eks.mdx
  • docs/en/configure/clusters/managed/import/azure-aks.mdx
  • docs/en/configure/clusters/managed/import/gcp-gke.mdx
  • docs/en/configure/clusters/managed/import/huawei-cce.mdx
  • docs/en/configure/clusters/managed/import/openshift.mdx
  • docs/en/configure/clusters/managed/import/standard-kubernetes.mdx
  • docs/en/configure/clusters/managed/import/tencent-tke.mdx
  • docs/en/configure/clusters/managed/register.mdx
  • docs/en/configure/clusters/nodes/overview.mdx
  • docs/en/configure/clusters/on-premises.mdx
  • docs/en/configure/networking/architecture/understanding_alb.mdx
  • docs/en/configure/networking/functions/configure_subnet.mdx
  • docs/en/configure/networking/functions/create_domain.mdx
  • docs/en/configure/storage/functions/nfs_storageclass.mdx
  • docs/en/developer/building_application/functions/namespace/resource_quota.mdx
  • docs/en/developer/building_application/functions/namespace/security_policies.mdx
  • docs/en/developer/building_application/functions/namespace/update_overcommit.mdx
  • docs/en/developer/building_application/functions/working_with_helm_charts.mdx
  • docs/en/developer/s2i/functions/s2i_application_management.mdx
  • docs/en/extend/cluster_plugin.mdx
  • docs/en/extend/upload_package.mdx
  • docs/en/observability/monitor/functions/manage_dashboard.mdx
  • docs/en/overview/kubernetes-support-matrix.mdx
  • docs/en/security/users_and_roles/idp/functions/ldap_manage.mdx
  • docs/en/storage/storagesystem_ceph/concepts/concept.mdx
  • docs/en/storage/storagesystem_ceph/how_to/disaster_recovery/dr_object.mdx
  • docs/en/upgrade/overview.mdx
  • docs/en/virtualization/virtualization/installation.mdx
  • docs/en/virtualization/virtualization/network/functions/vm_network.mdx
  • docs/en/virtualization/virtualization/network/how_to/vm_sriov.mdx
  • docs/en/virtualization/virtualization/virtual_machine/functions/virtual_management.mdx
  • docs/en/virtualization/virtualization/virtual_machine/how_to/vm_clone.mdx
  • docs/en/virtualization/virtualization/virtual_machine/how_to/vm_gpust.mdx
  • package.json
💤 Files with no reviewable changes (1)
  • docs/en/upgrade/overview.mdx

### Configure External Access for Secondary Zone

1. Obtain UID of Secondary Gateway \{#uids}
1. Obtain UID of Secondary Gateway <span id="uid" />
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Use a unique fragment ID to avoid anchor collision.

id="uid" is already defined earlier in this file (#uid at Line 112). Duplicate IDs can make fragment links jump to the wrong section.

Suggested fix
-1. Obtain UID of Secondary Gateway <span id="uid" />
+1. Obtain UID of Secondary Gateway <span id="secondary-uid" />
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
1. Obtain UID of Secondary Gateway <span id="uid" />
1. Obtain UID of Secondary Gateway <span id="secondary-uid" />
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/en/storage/storagesystem_ceph/how_to/disaster_recovery/dr_object.mdx` at
line 263, The fragment id "uid" is duplicated (already used as "#uid" earlier),
so change the span id in this line to a unique identifier (e.g., "uid-secondary"
or "secondary-gateway-uid") and update any local links that target this anchor;
locate the span with id="uid" in this file (the current line) and replace the id
value with the new unique id to avoid anchor collisions.

},
"dependencies": {
"@alauda/doom": "^1.18.2"
"@alauda/doom": "https://pkg.pr.new/@alauda/doom@0f1b2c8"
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== package.json dependency source =="
rg -n '"@alauda/doom"\s*:' package.json -C 1

echo
echo "== preview URL usage in lockfile =="
rg -n 'pkg\.pr\.new/.+@alauda/doom|@alauda/doom-export@https://pkg\.pr\.new' yarn.lock -C 1

Repository: alauda/acp-docs

Length of output: 609


Avoid shipping a preview package URL in release dependencies.

@alauda/doom is pinned to pkg.pr.new, a temporary preview artifact endpoint. This creates reproducibility issues and supply chain risk. Use a stable registry version instead.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@package.json` at line 14, Replace the preview artifact URL dependency for the
package "@alauda/doom" with a stable registry version: locate the dependency
entry that currently reads "@alauda/doom":
"https://pkg.pr.new/@alauda/doom@0f1b2c8" and change it to a semantic version
string published to your registry (e.g. "0.1.2" or a proper npm/dist-tag like
"latest") or remove/replace it with an approved internal package reference;
ensure package.json's dependencies/devDependencies contain only resolved
registry versions and run npm/yarn install to verify the lockfile updates.

@JounQin
Copy link
Member Author

JounQin commented Mar 20, 2026

/doc-pr-build

@cloudflare-workers-and-pages
Copy link

Deploying alauda-container-platform with  Cloudflare Pages  Cloudflare Pages

Latest commit: d15edf5
Status: ✅  Deploy successful!
Preview URL: https://54987012.alauda-container-platform.pages.dev
Branch Preview URL: https://fix-unmatched-anchors-4-0.alauda-container-platform.pages.dev

View logs

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.


### Configure External Access for Primary Zone

1. Obtain the UID of the ObjectStore \{#uid}
Copy link
Member Author

Choose a reason for hiding this comment

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

Suggested change
1. Obtain the UID of the ObjectStore <span id="uid" />

### Configure External Access for Secondary Zone

1. Obtain UID of Secondary Gateway \{#uids}
1. Obtain UID of Secondary Gateway <span id="uid" />
Copy link
Member Author

Choose a reason for hiding this comment

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

Suggested change
1. Obtain UID of Secondary Gateway <span id="uid" />
1. Obtain UID of Secondary Gateway <span id="uids" />

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 46 out of 48 changed files in this pull request and generated 3 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

},
"dependencies": {
"@alauda/doom": "^1.18.2"
"@alauda/doom": "https://pkg.pr.new/@alauda/doom@0f1b2c8"
Copy link

Copilot AI Mar 20, 2026

Choose a reason for hiding this comment

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

The @alauda/doom dependency was switched from a published semver range to a pkg.pr.new URL. This makes installs non-reproducible and typically requires updating yarn.lock; otherwise the repo’s lockfile is out of sync with package.json. Consider bumping to a released @alauda/doom version (or pinning via a normal version) and commit the corresponding yarn.lock update.

Copilot uses AI. Check for mistakes.
Comment on lines 262 to 264

1. Obtain UID of Secondary Gateway \{#uids}
1. Obtain UID of Secondary Gateway <span id="uid" />

Copy link

Copilot AI Mar 20, 2026

Choose a reason for hiding this comment

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

This adds a second "uid" anchor in the same document (there is already a "{#uid}" anchor earlier). Duplicate fragment IDs can make links resolve to the wrong section. Use a unique id here (e.g., secondary-gateway-uid) and update any references accordingly.

Copilot uses AI. Check for mistakes.
Comment on lines 21 to 24
## Notes

* **Kubernetes Version:**
Kubernetes upgrades are supported only for **On-Premises Clusters**. For **Managed Clusters** (e.g., Amazon EKS, Azure AKS), Kubernetes upgrades must be performed through the respective cloud provider. See [Cluster Type](../configure/clusters/overview.mdx#cluster_type) for more information on the differences between **On-Premises Clusters** and **Managed Clusters**.

* **Operator:**
Only Operators with **Source = <Term name="company" />** are listed and can be upgraded via the cluster upgrade feature. All other Operators are managed through the **OLM** component in the Marketplace and are not included in this process.
Copy link

Copilot AI Mar 20, 2026

Choose a reason for hiding this comment

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

The Kubernetes upgrade note was removed entirely to address an unmatched anchor, which is a documentation regression. Instead of deleting this guidance, consider keeping the content and updating the broken link/anchor (or linking to an existing section in the clusters overview) so readers still get the Kubernetes upgrade constraints for managed vs on-prem clusters.

Copilot uses AI. Check for mistakes.
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.

2 participants