Skip to content

Improve documentation for BIOS BMC CRDs#761

Open
nagadeesh-nagaraja wants to merge 1 commit intomainfrom
doc-update
Open

Improve documentation for BIOS BMC CRDs#761
nagadeesh-nagaraja wants to merge 1 commit intomainfrom
doc-update

Conversation

@nagadeesh-nagaraja
Copy link
Copy Markdown
Contributor

@nagadeesh-nagaraja nagadeesh-nagaraja commented Mar 27, 2026

Proposed Changes

Update documentation

Summary by CodeRabbit

  • Documentation
    • Added comprehensive BMCSettingsSet documentation and a detailed CRD & Controller documentation checklist.
    • Restructured and expanded BIOS and BMC concept docs with full spec references, state machines, workflows, troubleshooting, and examples.
    • Updated site navigation to include a Concepts entry for BMCSettingsSet and a Development entry for the CRD & Controller Docs Checklist.

@nagadeesh-nagaraja nagadeesh-nagaraja self-assigned this Mar 27, 2026
@nagadeesh-nagaraja nagadeesh-nagaraja requested a review from a team as a code owner March 27, 2026 16:02
@github-actions github-actions bot added documentation Improvements or additions to documentation size/XXL labels Mar 27, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 27, 2026

Walkthrough

Updated docs navigation and added two new pages. Rewrote and standardized BIOS/BMC concept pages (spec, status, state machines, workflows, troubleshooting, examples). Added new BMCSettingsSet concept doc and a CRD/controller documentation checklist page.

Changes

Cohort / File(s) Summary
Navigation Configuration
docs/.vitepress/config.mts
Inserted two new sidebar links: Concepts → BMCSettingsSet and Development → CRD and Controller Docs Checklist.
BIOS Concepts Documentation
docs/concepts/biossettings.md, docs/concepts/biossettingsset.md, docs/concepts/biosversion.md, docs/concepts/biosversionset.md
Rewrote each page into consistent spec-style docs: "What It Does", detailed Spec Reference, expanded Status Fields In Detail, Mermaid state machines/reconcile diagrams, detailed workflows, troubleshooting tables, and updated YAML examples and field names.
BMC Concepts Documentation
docs/concepts/bmcsettings.md, docs/concepts/bmcversion.md, docs/concepts/bmcversionset.md
Restructured into same spec-style format with explicit spec/status fields, state machines, workflows, troubleshooting, and updated examples/field renames.
BMCSettingsSet New Documentation
docs/concepts/bmcsettingsset.md
Added new concept doc describing fleet-scoped controller behavior, spec.bmcSelector and spec.bmcSettingsTemplate, spec.dynamicSettings semantics/validation, reconcile flow, status counters, troubleshooting, and example YAML.
Concepts Index
docs/concepts/index.md
Added index entry linking to the new BMCSettingsSet concept page.
Development Documentation
docs/development/crd_controller_docs.md
Added a comprehensive CRD and controller documentation checklist covering API contract, reconciliation semantics, state machines, operational runbooks, security/compliance, observability/SLOs, testing/usage guidance, and release-note expectations.

Sequence Diagram(s)

(omitted — changes are documentation-only and do not introduce executable control-flow changes)

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested labels

size/XL

Suggested reviewers

  • afritzler
  • xkonni
  • damyan
🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description is incomplete and does not follow the template structure, providing only 'Update documentation' without specific details about proposed changes. Expand the description to list specific changes: new BMCSettingsSet documentation, restructured concept pages, documentation checklist for CRDs, and sidebar configuration updates.
✅ Passed checks (2 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check ✅ Passed The title accurately reflects the main objective of the PR, which is updating documentation for BIOS and BMC Custom Resource Definitions (CRDs) across multiple concept and development documentation files.

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

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch doc-update

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.

Copy link
Copy Markdown
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: 4

🧹 Nitpick comments (1)
docs/concepts/bmcsettingsset.md (1)

44-44: Minor grammar fix: add explicit subject.

The validation rule description is missing an explicit subject for clarity.

📝 Proposed grammar fix
-- `variables` can only be used with `format`.
+- `variables` can only be used when `format` is set.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/concepts/bmcsettingsset.md` at line 44, Update the sentence to include
an explicit subject for clarity: change the line "`variables` can only be used
with `format`." to something like "The `variables` option can only be used with
the `format` option." so it clearly reads that the variables option is
restricted to use with the format option (referencing the `variables` and
`format` tokens in the documentation).
🤖 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/concepts/biossettings.md`:
- Line 19: The table incorrectly marks `spec.serverRef.name` as required; update
the docs to mark it as "No" and clarify that `BIOSSettingsSpec.ServerRef` is
optional in the schema (it uses `omitempty` and has no `+required`), and add a
short note after the table describing any runtime expectations (e.g.,
controllers may require a serverRef in certain operations) rather than claiming
compile-time requiredness; refer to `spec.serverRef.name` and the
`BIOSSettingsSpec.ServerRef` type when making these changes.

In `@docs/concepts/biosversion.md`:
- Line 19: The table incorrectly marks `spec.serverRef.name` as required; update
the docs to show "No" for requiredness to match the API type
`BIOSVersionSpec.ServerRef` which is `+optional`/`omitempty`, and retain any
controller-level expectation as explanatory text rather than as a required flag;
ensure references to `spec.serverRef`, `spec.serverRef.name`, and
`BIOSVersionSpec.ServerRef` are consistent with the API schema.

In `@docs/concepts/bmcsettings.md`:
- Line 33: The table row describing spec.serverMaintenanceRefs[] currently
appears under the "Status Fields In Detail" section which is misleading; either
move the row entry for spec.serverMaintenanceRefs[] into the Spec section (so it
lives with other spec fields) or rename "Status Fields In Detail" to something
like "Spec and Status Fields" and update the row description to clarify it is a
spec field used for diagnostics; update the table header and any surrounding
text to reflect the chosen change and ensure the symbol
spec.serverMaintenanceRefs[] is referenced consistently.

In `@docs/concepts/bmcversion.md`:
- Line 19: Update the table entry for spec.bmcRef.name to reflect schema-level
optionality: change the “Required” column from Yes to No (or add a parenthetical
like “No (controller may require at runtime)”), because the API type defines
BMCRef as optional (omitempty and no +required marker). Reference the BMCRef
type and the spec.bmcRef.name field in the docs so readers know the difference
between schema-level requiredness and controller-level runtime requirements.

---

Nitpick comments:
In `@docs/concepts/bmcsettingsset.md`:
- Line 44: Update the sentence to include an explicit subject for clarity:
change the line "`variables` can only be used with `format`." to something like
"The `variables` option can only be used with the `format` option." so it
clearly reads that the variables option is restricted to use with the format
option (referencing the `variables` and `format` tokens in the documentation).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 7f891e00-f7fe-4ce5-aecd-024587f130c3

📥 Commits

Reviewing files that changed from the base of the PR and between 52d7860 and 004e557.

📒 Files selected for processing (11)
  • docs/.vitepress/config.mts
  • docs/concepts/biossettings.md
  • docs/concepts/biossettingsset.md
  • docs/concepts/biosversion.md
  • docs/concepts/biosversionset.md
  • docs/concepts/bmcsettings.md
  • docs/concepts/bmcsettingsset.md
  • docs/concepts/bmcversion.md
  • docs/concepts/bmcversionset.md
  • docs/concepts/index.md
  • docs/development/crd_controller_docs.md

Copy link
Copy Markdown
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.

🧹 Nitpick comments (1)
docs/concepts/bmcsettings.md (1)

79-79: Optional: Consider hyphenating "policy driven" as a compound modifier.

Line 79: "Request maintenance per server (policy driven)" could be written as "policy-driven" when used as a compound adjective before a noun. However, the current usage in parentheses is acceptable.

📝 Optional style improvement
-  - Request maintenance per server (policy driven) and wait for approval.
+  - Request maintenance per server (policy-driven) and wait for approval.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/concepts/bmcsettings.md` at line 79, Update the phrase "Request
maintenance per server (policy driven)" to use the compound adjective form
"policy-driven" so it reads "Request maintenance per server (policy-driven)";
locate the text containing the exact phrase "Request maintenance per server
(policy driven)" in the docs/concepts/bmcsettings.md content and replace it
accordingly to maintain consistent style.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@docs/concepts/bmcsettings.md`:
- Line 79: Update the phrase "Request maintenance per server (policy driven)" to
use the compound adjective form "policy-driven" so it reads "Request maintenance
per server (policy-driven)"; locate the text containing the exact phrase
"Request maintenance per server (policy driven)" in the
docs/concepts/bmcsettings.md content and replace it accordingly to maintain
consistent style.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 8d6e6670-6500-40ab-8cc8-a38c01fb9c88

📥 Commits

Reviewing files that changed from the base of the PR and between 004e557 and c6c8afb.

📒 Files selected for processing (11)
  • docs/.vitepress/config.mts
  • docs/concepts/biossettings.md
  • docs/concepts/biossettingsset.md
  • docs/concepts/biosversion.md
  • docs/concepts/biosversionset.md
  • docs/concepts/bmcsettings.md
  • docs/concepts/bmcsettingsset.md
  • docs/concepts/bmcversion.md
  • docs/concepts/bmcversionset.md
  • docs/concepts/index.md
  • docs/development/crd_controller_docs.md
✅ Files skipped from review due to trivial changes (5)
  • docs/concepts/index.md
  • docs/.vitepress/config.mts
  • docs/concepts/biosversion.md
  • docs/concepts/biossettings.md
  • docs/concepts/bmcversionset.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/concepts/biosversionset.md

@nagadeesh-nagaraja nagadeesh-nagaraja changed the title Improve documentation for BIOS BMC CRds Improve documentation for BIOS BMC CRDs Mar 31, 2026
Copy link
Copy Markdown
Contributor

@xkonni xkonni left a comment

Choose a reason for hiding this comment

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

minor questions, high quality overall.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/metal-automation documentation Improvements or additions to documentation size/XXL

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

3 participants