Repository navigation
Adding Crossplane Toolset - #1839
Conversation
|
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:
WalkthroughAdds a new Crossplane built-in toolset: documentation, navigation entries, and a toolset manifest exposing kubectl-based tools and LLM guidance to inspect Crossplane providers, revisions/configs, XRDs, compositions, claims/composites, managed resources, and related events. Changes
Sequence Diagram(s)sequenceDiagram
participant User as User
participant LLM as HolmesGPT (LLM)
participant ToolRunner as Tool Runner
participant KubeAPI as Kubernetes API (Crossplane CRDs)
User->>LLM: Ask Crossplane troubleshooting question
LLM->>ToolRunner: Select ordered crossplane_* tools
ToolRunner->>KubeAPI: Run kubectl queries (providers, XRDs, compositions, claims, managed resources, events)
KubeAPI-->>ToolRunner: Return YAML / events
ToolRunner-->>LLM: Provide tool outputs
LLM-->>User: Synthesized analysis and suggested next steps
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. 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 |
✅ Deploy Preview for holmes-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Signed-off-by: Mrinal P R <mrinalpr1998@gmail.com>
82ecf61 to
55e87b4
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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/data-sources/builtin-toolsets/crossplane.md`:
- Around line 82-102: Remove the entire "## Capabilities" section and the
included snippet list from the Crossplane toolset docs: delete the header "##
Capabilities", the include line --8<-- "snippets/toolset_capabilities_intro.md",
and the Markdown table rows that list tools (e.g., entries like
crossplane_list_providers, crossplane_get_provider, etc.), leaving the rest of
the document intact so capabilities are no longer enumerated in docs.
🪄 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: 959a8b7a-80dd-4bb2-9ddb-9d4d363b7949
📥 Commits
Reviewing files that changed from the base of the PR and between 2b95136 and 82ecf61ce71ee30cef6cf785e28342b14f55cd17.
⛔ Files ignored due to path filters (1)
images/integration_logos/crossplane-icon.pngis excluded by!**/*.png
📒 Files selected for processing (6)
README.mddocs/data-sources/builtin-toolsets/.nav.ymldocs/data-sources/builtin-toolsets/crossplane.mddocs/data-sources/builtin-toolsets/index.mddocs/why-holmesgpt.mdholmes/plugins/toolsets/crossplane.yaml
There was a problem hiding this comment.
♻️ Duplicate comments (1)
docs/data-sources/builtin-toolsets/crossplane.md (1)
82-102:⚠️ Potential issue | 🟠 MajorRemove the Capabilities section and tool table.
This section enumerates toolset capabilities, which should not be documented here and will quickly go stale.
Proposed change
-## Capabilities - ---8<-- "snippets/toolset_capabilities_intro.md" - -| Tool Name | Description | -|-----------|-------------| -| crossplane_list_providers | List all installed Crossplane providers with their health status | -| crossplane_get_provider | Get detailed status of a specific provider including conditions | -| crossplane_list_provider_revisions | List provider revisions to check for upgrade issues | -| crossplane_list_provider_configs | List ProviderConfigs to check credential configurations | -| crossplane_get_provider_config | Get detailed ProviderConfig including credential source | -| crossplane_list_xrds | List all CompositeResourceDefinitions (XRDs) | -| crossplane_get_xrd | Get details of a specific XRD including schema and versions | -| crossplane_list_compositions | List all Compositions | -| crossplane_get_composition | Get details of a Composition including resource templates | -| crossplane_get_claim | Get a claim's status, conditions, and composite resource reference | -| crossplane_get_composite_resource | Get a composite resource with its composed resource references | -| crossplane_list_managed_resources | List managed resources of a specific kind with sync status | -| crossplane_get_managed_resource | Get full details of a managed resource including conditions and events | -| crossplane_get_resource_events | Get Kubernetes events for a specific Crossplane resource | -| crossplane_list_managed_by_composite | List all managed resources owned by a specific composite resource |As per coding guidelines: "Don't list what a toolset/integration can do in documentation - users discover capabilities by using Holmes, and feature lists become stale quickly."
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/data-sources/builtin-toolsets/crossplane.md` around lines 82 - 102, Remove the entire "## Capabilities" section and the following tool table (the block that lists tool names like crossplane_list_providers, crossplane_get_provider, crossplane_list_provider_revisions, crossplane_list_provider_configs, crossplane_get_provider_config, crossplane_list_xrds, crossplane_get_xrd, crossplane_list_compositions, crossplane_get_composition, crossplane_get_claim, crossplane_get_composite_resource, crossplane_list_managed_resources, crossplane_get_managed_resource, crossplane_get_resource_events, crossplane_list_managed_by_composite). Ensure no leftover heading, paragraph, or table markup remains so the document no longer enumerates toolset capabilities.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Duplicate comments:
In `@docs/data-sources/builtin-toolsets/crossplane.md`:
- Around line 82-102: Remove the entire "## Capabilities" section and the
following tool table (the block that lists tool names like
crossplane_list_providers, crossplane_get_provider,
crossplane_list_provider_revisions, crossplane_list_provider_configs,
crossplane_get_provider_config, crossplane_list_xrds, crossplane_get_xrd,
crossplane_list_compositions, crossplane_get_composition, crossplane_get_claim,
crossplane_get_composite_resource, crossplane_list_managed_resources,
crossplane_get_managed_resource, crossplane_get_resource_events,
crossplane_list_managed_by_composite). Ensure no leftover heading, paragraph, or
table markup remains so the document no longer enumerates toolset capabilities.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 39923289-94eb-467f-9c35-3f46f60d7010
📥 Commits
Reviewing files that changed from the base of the PR and between 82ecf61ce71ee30cef6cf785e28342b14f55cd17 and 55e87b4.
⛔ Files ignored due to path filters (1)
images/integration_logos/crossplane-icon.pngis excluded by!**/*.png
📒 Files selected for processing (6)
README.mddocs/data-sources/builtin-toolsets/.nav.ymldocs/data-sources/builtin-toolsets/crossplane.mddocs/data-sources/builtin-toolsets/index.mddocs/why-holmesgpt.mdholmes/plugins/toolsets/crossplane.yaml
✅ Files skipped from review due to trivial changes (4)
- docs/data-sources/builtin-toolsets/index.md
- docs/data-sources/builtin-toolsets/.nav.yml
- README.md
- docs/why-holmesgpt.md
🚧 Files skipped from review as they are similar to previous changes (1)
- holmes/plugins/toolsets/crossplane.yaml
Signed-off-by: Mrinal P R <mrinalpr1998@gmail.com>
97b4088 to
9e8f479
Compare
|
@claude review |
There was a problem hiding this comment.
LGTM — straightforward toolset addition following established patterns; the only finding is a minor README ordering nit (inline comment attached).
Extended reasoning...
Overview
This PR adds a new Crossplane built-in toolset: a crossplane.yaml tool manifest with 15 kubectl-based read-only tools, a new documentation page, and updates to README, nav, index, and the why-holmesgpt page.
Security risks
No security risks. All tools are read-only kubectl queries. Template parameters (e.g. {{ provider_name }}) follow the same pattern used by other toolsets in the codebase. No auth code, no credential handling.
Level of scrutiny
Low scrutiny warranted. This is a self-contained addition of a new toolset following the same conventions as ArgoCD, Cilium, and other infrastructure toolsets. The CodeRabbit feedback about the Capabilities table was already addressed by the author.
Other factors
The only bug found is a documentation ordering nit (Crossplane appears before Coralogix in the README table, violating alphabetical order) — no functional impact. The .nav.yml file correctly places Crossplane after Coralogix, showing the inconsistency is isolated to README.md.
ad93c76 to
da4e471
Compare
Signed-off-by: Mrinal P R <mrinalpr1998@gmail.com>
da4e471 to
8e603f0
Compare
|
Thanks for the review @moshemorad . Addressed the review comments |
Added new toolset: crossplane/core
Added support for querying Crossplane resources using kubectl
Summary by CodeRabbit
New Features
Documentation