docs(bare-metal): document the AIT-70186 baremetal lifecycle#97
docs(bare-metal): document the AIT-70186 baremetal lifecycle#97wgkingk wants to merge 5 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>
|
Warning Review limit reached
Your plan includes 1 review of capacity. Refill in 2 minutes and 8 seconds. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more review capacity refills, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than trial, open-source, and free plans. In all cases, review capacity refills continuously over time. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (5)
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: |
8dd8b32
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://9b07a6a5.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>
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