Repository navigation
Fix/redfish capability guidance - #84
Merged
Merged
Conversation
Add modules.bcm.redfish (off by default) so the agent can read a node's BMC over Redfish when the node is down or unreachable in-band. The BCM SSH adapter registers redfish_* MCP tools behind its existing bearer auth. The model passes only a BCM hostname; the adapter resolves the BMC address and credentials through CMSH and never returns them. RedfishPolicy allowlists GET on inventory, health, sensor, log, firmware and task resources, accepts only $expand, $top and $skip, and rejects Actions, AccountService, SessionService, CertificateService, EventService, SecureBoot, Bios/Settings, VirtualMedia, '..', '//' and '%' before any credential lookup. Responses have password, token and secret fields redacted, and errors omit the BMC address. By default each GET runs curl on the BCM head node over the adapter's SSH session, with the credential on stdin; viaHeadNode=false uses a direct HTTPS client without redirects. The extension adds bcm_redfish_system_summary, _thermal, _power, _sel, _firmware and _get as read tools in every mode, outside the mutation policy. Signed-off-by: Ev Lacey <elacey@nvidia.com>
Address review findings on the read-only Redfish tools. $expand could return denied resources: the policy checked only the requested path, so /redfish/v1?$expand=*($levels=5) inlined AccountService. Accept only $expand=. at one level, refuse query parameters on the service root, and check every embedded resource in a response against the allowlist, reducing any outside it to a bare link. bcm_redfish_sel hid read failures: errors reading LogServices or Entries were skipped, so a 403, 503 or 504 looked like an empty log. Report failed sources in errors with complete=false, and fail the call when no log could be read. Log services that reject query parameters are read unqueried. bcm_redfish_sel could omit the newest events: it ignored Members@odata.nextLink. Follow continuation pages, bounded, through the same policy check. Keep oversized results valid JSON by omitting the oldest entries and reporting how many were omitted. Signed-off-by: Ev Lacey <elacey@nvidia.com>
Require capability claims to follow registered tools and session access. Explain that Redfish Actions metadata does not grant an executable tool, and avoid offering unavailable writes or asking for confirmation to perform them. Signed-off-by: Rohan Adwankar <39285979+RohanAdwankar@users.noreply.github.com>
The deployed application rejected all six Redfish tools as unclassified even though BCM registered them as read-only. Add the explicit Redfish API tools to the shared read-only classification and verify that every registered Redfish tool remains available without Edit mode; existing mutation policy is unchanged. Signed-off-by: Rohan Adwankar <39285979+RohanAdwankar@users.noreply.github.com>
Preserve both Redfish and web-search validation, then regenerate the bundled agent documentation from merged source. Keep the category credential fix and current main behavior alongside the Redfish tools, guidance, and read-only policy classification. Signed-off-by: Rohan Adwankar <39285979+RohanAdwankar@users.noreply.github.com>
Redact sensitive HTTP headers and recursively sanitize JSON-encoded task bodies before returning Redfish data to the model or UI telemetry. Preserve task state, request metadata, and non-secret fields; redact malformed encoded bodies and header containers that cannot be inspected safely. Signed-off-by: Rohan Adwankar <39285979+RohanAdwankar@users.noreply.github.com>
Limit curl downloads and cap SSH stdout while data arrives, terminating and reaping the child on oversized output or timeout. Use nonblocking input and output so the deadline also covers blocked credential input. Preserve existing CMSH calls and direct-transport limits; verify bounded reads, timeouts, and process cleanup without contacting hardware. Signed-off-by: Rohan Adwankar <39285979+RohanAdwankar@users.noreply.github.com>
Explain that diagnostic catalog searches do not enumerate registered agent capabilities, both in the tool description and each search response. Preserve diagnostic results and tool registration, and verify the scope guidance for empty and populated results. Signed-off-by: Rohan Adwankar <39285979+RohanAdwankar@users.noreply.github.com>
Add an opt-in BCM Redfish checkbox and emit its nested Helm flag only when BCM is enabled. Explain the read-only and TLS defaults, preserve dependency-driven BCM selection, and verify generated commands render successfully. Signed-off-by: Rohan Adwankar <39285979+RohanAdwankar@users.noreply.github.com>
Require new installation headings and options to be reflected in the builder, and place a reminder beside the guide title. Document the builder validation commands and refresh the bundled agent documentation. Signed-off-by: Rohan Adwankar <39285979+RohanAdwankar@users.noreply.github.com>
Remove the maintainer comment from the installation guide as requested, retaining the synchronization guidance in CONTRIBUTING.md. Refresh the bundled documentation. Signed-off-by: Rohan Adwankar <39285979+RohanAdwankar@users.noreply.github.com>
Move the Redfish checkbox from connection settings into the BCM module block and indent it below BCM. Preserve opt-in behavior and generated Helm settings; update builder guidance and bundled documentation. Signed-off-by: Rohan Adwankar <39285979+RohanAdwankar@users.noreply.github.com>
Let the expanded BCM block occupy two grid rows so adjacent modules fill the available space. Preserve a single-column flow on narrow screens. Signed-off-by: Rohan Adwankar <39285979+RohanAdwankar@users.noreply.github.com>
Move the complete Redfish setup from the BCM-specific guide to the main installation guide after BCM. Point the BCM guide and installation builder at the canonical extension section and refresh bundled agent documentation. Signed-off-by: Rohan Adwankar <39285979+RohanAdwankar@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Checklist