docs(bare-metal): document the AIT-70186 baremetal lifecycle#97
docs(bare-metal): document the AIT-70186 baremetal lifecycle#97wgkingk wants to merge 7 commits into
Conversation
Replace the "Planned" stubs with a full provider documentation set built from the cluster-api-provider-baremetal `qa/AIT-70186-baremetal-lifecycle` branch: pool/plan model, install flow, YAML cluster creation (with the hardened KubeadmControlPlane appendix), node management, Kubernetes upgrade via replacement, and per-CRD API pages. Flip every provider index from "📋 Planned" to "✅ Available (YAML only)" so the new pages are discoverable. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
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:
WalkthroughThis PR replaces "Planned" placeholders with full bare-metal documentation: provider overview, API reference pages, CRD manifests, installation, cluster creation, worker node management, and Kubernetes upgrade procedures. ChangesBare Metal Provider Documentation Suite
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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: 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 `@docs/en/upgrade-cluster/bare-metal.mdx`:
- Line 44: The sentence stating that old and new nodes “coexist briefly” is
inconsistent with the documented delete-then-add replacement using maxSurge=0;
update the sentence referencing MachineInventory / clean plan / Machine to state
that the inventory released by a clean plan may not be the same one re-allocated
and that replacements are performed as delete-then-add (no overlap) when
maxSurge=0, so pool capacity sizing should not assume simultaneous coexistence
of old and new nodes during rollout.
🪄 Autofix (Beta)
✅ Autofix completed
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 0c65ce88-4750-4297-a1de-da3b4bce953c
📒 Files selected for processing (15)
docs/en/apis/providers/bare-metal/baremetalcluster.mdxdocs/en/apis/providers/bare-metal/baremetalmachine.mdxdocs/en/apis/providers/bare-metal/baremetalmachinetemplate.mdxdocs/en/apis/providers/bare-metal/index.mdxdocs/en/apis/providers/bare-metal/machineinventorypool.mdxdocs/en/create-cluster/bare-metal.mdxdocs/en/create-cluster/index.mdxdocs/en/install/bare-metal.mdxdocs/en/install/index.mdxdocs/en/manage-nodes/bare-metal.mdxdocs/en/manage-nodes/index.mdxdocs/en/overview/providers/bare-metal.mdxdocs/en/overview/providers/index.mdxdocs/en/upgrade-cluster/bare-metal.mdxdocs/en/upgrade-cluster/index.mdx
Deploying alauda-immutable-infra with
|
| Latest commit: |
45d5bab
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://1a62d24c.alauda-immutable-infra.pages.dev |
| Branch Preview URL: | https://docs-baremetal-provider-life.alauda-immutable-infra.pages.dev |
|
Note Autofix is a beta feature. Expect some limitations and changes as we gather feedback and continue to improve it. Fixes Applied SuccessfullyFixed 1 file(s) based on 1 unresolved review comment. Files modified:
Commit: The changes have been pushed to the Time taken: |
Fixed 1 file(s) based on 1 unresolved review comment. Co-authored-by: CodeRabbit <noreply@coderabbit.ai>
The 4 provider API pages referenced <K8sCrd> by name but the matching CustomResourceDefinition YAMLs were never copied into docs/shared/crds/providers/bare-metal/, so the schemas rendered empty. - Add all 7 CRD sources (4 infrastructure.cluster.x-k8s.io + 3 elemental.cattle.io), Helm-wrapper-stripped, validated as parseable. - Add MachineRegistration / SeedImage / MachineInventory API pages so the elemental resources operators must author/inspect are documented, not just listed. - Restructure the API index into Provider / Elemental / upstream CAPI sections with links to every page. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
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
`@docs/shared/crds/providers/bare-metal/elemental.cattle.io_machineinventories.yaml`:
- Around line 215-221: Fix the typo in the tpmHash field description: locate the
description for the tpmHash property (symbol "tpmHash") and change the word
"identifiy" to "identify" so the sentence reads "using TPM2 to identify nodes.";
keep rest of the text unchanged.
🪄 Autofix (Beta)
✅ Autofix completed
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 108c139b-71af-4ce3-a05c-3e39eccaaae3
📒 Files selected for processing (11)
docs/en/apis/providers/bare-metal/index.mdxdocs/en/apis/providers/bare-metal/machineinventory.mdxdocs/en/apis/providers/bare-metal/machineregistration.mdxdocs/en/apis/providers/bare-metal/seedimage.mdxdocs/shared/crds/providers/bare-metal/elemental.cattle.io_machineinventories.yamldocs/shared/crds/providers/bare-metal/elemental.cattle.io_machineregistrations.yamldocs/shared/crds/providers/bare-metal/elemental.cattle.io_seedimages.yamldocs/shared/crds/providers/bare-metal/infrastructure.cluster.x-k8s.io_baremetalclusters.yamldocs/shared/crds/providers/bare-metal/infrastructure.cluster.x-k8s.io_baremetalmachines.yamldocs/shared/crds/providers/bare-metal/infrastructure.cluster.x-k8s.io_baremetalmachinetemplates.yamldocs/shared/crds/providers/bare-metal/infrastructure.cluster.x-k8s.io_machineinventorypools.yaml
✅ Files skipped from review due to trivial changes (5)
- docs/en/apis/providers/bare-metal/machineinventory.mdx
- docs/en/apis/providers/bare-metal/seedimage.mdx
- docs/shared/crds/providers/bare-metal/elemental.cattle.io_machineregistrations.yaml
- docs/en/apis/providers/bare-metal/machineregistration.mdx
- docs/shared/crds/providers/bare-metal/infrastructure.cluster.x-k8s.io_baremetalclusters.yaml
|
Note Autofix is a beta feature. Expect some limitations and changes as we gather feedback and continue to improve it. Fixes Applied SuccessfullyFixed 1 file(s) based on 1 unresolved review comment. Files modified:
Commit: The changes have been pushed to the Time taken: |
Fixed 1 file(s) based on 1 unresolved review comment. Co-authored-by: CodeRabbit <noreply@coderabbit.ai>
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)
docs/shared/crds/providers/bare-metal/elemental.cattle.io_machineinventories.yaml (1)
112-113:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winDescription says "list" but schema defines a map.
The description states "IPAddressPools is a list of IPAddressPool," but the schema uses
additionalProperties(lines 89-114), which defines a map, not an array. Consider updating the description to match, e.g., "IPAddressPools is a map of IPAddressPool objects associated to this machine."📝 Proposed fix
- description: IPAddressPools is a list of IPAddressPool associated - to this machine. + description: IPAddressPools is a map of IPAddressPool objects associated + to this machine.🤖 Prompt for 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. In `@docs/shared/crds/providers/bare-metal/elemental.cattle.io_machineinventories.yaml` around lines 112 - 113, The description for the IPAddressPools field is inconsistent with the schema: the schema for IPAddressPools uses additionalProperties (a map) but the description says "list"; update the description for IPAddressPools to reflect a map structure (e.g., "IPAddressPools is a map of IPAddressPool objects associated to this machine") so it matches the schema definition (see IPAddressPools and the additionalProperties block).
🤖 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.
Outside diff comments:
In
`@docs/shared/crds/providers/bare-metal/elemental.cattle.io_machineinventories.yaml`:
- Around line 112-113: The description for the IPAddressPools field is
inconsistent with the schema: the schema for IPAddressPools uses
additionalProperties (a map) but the description says "list"; update the
description for IPAddressPools to reflect a map structure (e.g., "IPAddressPools
is a map of IPAddressPool objects associated to this machine") so it matches the
schema definition (see IPAddressPools and the additionalProperties block).
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 3a0ff657-d3d9-4a10-a38c-160867a6d5dc
📒 Files selected for processing (1)
docs/shared/crds/providers/bare-metal/elemental.cattle.io_machineinventories.yaml
Address @wgkingk's review comments: - install: drop internal chart values (platformUrl, registry address/TLS, image-catalog values table) so the page stays consistent with the other providers and does not expose internal knobs. - create-cluster: remove the /etc/resolv.conf write_files example (the OS manages resolv.conf); reword "used in QA" to production guidance; drop the optional cpaas.io/registry-address annotation (the provider falls back to the platform registry-credential Secret) and fix the dependent prose; remove the single-control-plane layout — bare-metal requires >=3 CP nodes. - manage-nodes: drop kubeletExtraArgs.cloud-provider=external (no cloud-provider on bare-metal). - upgrade-cluster: clarify the image catalog is normally re-rendered by the plugin (operator just verifies); remove the rollback section (bare-metal rollback guidance is still "planned" per global/upgrade). Also apply the open CodeRabbit finding: IPAddressPools description says "list" but the schema is a map (additionalProperties) -> "map". Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
@wgkingk 8dd8b32 上又过了一遍。 视觉 / framing1. Object hierarchy 图(
2. Supported Kubernetes Versions 段(
3. Cluster Creation Workflow 5 步骤图(
代码 / 文档对账(基于
|
There was a problem hiding this comment.
🧹 Nitpick comments (1)
docs/en/install/bare-metal.mdx (1)
29-29: ⚡ Quick winConsider using consistent terminology for the baremetal manager component.
Line 29 uses the technical subchart name
cluster-api-provider-baremetal-managerwhile line 42 refers to it as "bare-metal provider manager". For clarity and to help users correlate what gets installed, consider using the same term in both places.📝 Suggested consistency fix
Option 1: Use the technical name consistently:
-The umbrella chart installs both the bare-metal provider manager and `elemental-operator` in one step. The image catalog ConfigMap is created by the chart — you do not need to apply it separately when creating a workload cluster. +The umbrella chart installs both the `cluster-api-provider-baremetal-manager` and `elemental-operator` in one step. The image catalog ConfigMap is created by the chart — you do not need to apply it separately.Option 2: Use descriptive names consistently:
-2. **Alauda Container Platform Bare Metal Infrastructure Provider** (umbrella chart that ships the `cluster-api-provider-baremetal-manager` and `elemental-operator` subcharts together) +2. **Alauda Container Platform Bare Metal Infrastructure Provider** (umbrella chart that ships the bare-metal provider manager and elemental operator subcharts together)Also applies to: 42-42
🤖 Prompt for 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. In `@docs/en/install/bare-metal.mdx` at line 29, Pick a single term and make it consistent: replace either the technical subchart name cluster-api-provider-baremetal-manager everywhere (including the sentence that currently says "bare-metal provider manager") or replace the technical name with the descriptive phrase "bare-metal provider manager" everywhere; update both occurrences where the component is referenced so users can clearly correlate what gets installed and ensure any adjacent mentions (bullets/descriptions) and links still match the chosen term.
🤖 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.
Nitpick comments:
In `@docs/en/install/bare-metal.mdx`:
- Line 29: Pick a single term and make it consistent: replace either the
technical subchart name cluster-api-provider-baremetal-manager everywhere
(including the sentence that currently says "bare-metal provider manager") or
replace the technical name with the descriptive phrase "bare-metal provider
manager" everywhere; update both occurrences where the component is referenced
so users can clearly correlate what gets installed and ensure any adjacent
mentions (bullets/descriptions) and links still match the chosen term.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: e7b5fcfc-958a-4400-81ac-65c7dcfdaf0a
📒 Files selected for processing (6)
docs/en/create-cluster/bare-metal.mdxdocs/en/install/bare-metal.mdxdocs/en/manage-nodes/bare-metal.mdxdocs/en/overview/providers/bare-metal.mdxdocs/en/upgrade-cluster/bare-metal.mdxdocs/shared/crds/providers/bare-metal/elemental.cattle.io_machineinventories.yaml
✅ Files skipped from review due to trivial changes (1)
- docs/en/manage-nodes/bare-metal.mdx
🚧 Files skipped from review as they are similar to previous changes (3)
- docs/shared/crds/providers/bare-metal/elemental.cattle.io_machineinventories.yaml
- docs/en/overview/providers/bare-metal.mdx
- docs/en/create-cluster/bare-metal.mdx
|
@chinameok 已按这轮 feedback 更新并推到 PR 分支:
验证: |
Replace the "Planned" stubs with a full provider documentation set built from the cluster-api-provider-baremetal
qa/AIT-70186-baremetal-lifecyclebranch: pool/plan model, install flow, YAML cluster creation (with the hardened KubeadmControlPlane appendix), node management, Kubernetes upgrade via replacement, and per-CRD API pages. Flip every provider index from "📋 Planned" to "✅ Available (YAML only)" so the new pages are discoverable.Summary by CodeRabbit