-
Notifications
You must be signed in to change notification settings - Fork 139
vMCP: Kubernetes - VirtualMCPCompositeToolDefinition CRD #2412
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Design and implement the VirtualMCPCompositeToolDefinition CRD for defining reusable composite workflows that can be referenced by multiple VirtualMCPServer instances.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces a new Kubernetes CRD VirtualMCPCompositeToolDefinition that enables defining reusable composite workflows for Virtual MCP Servers, allowing complex multi-step operations to be referenced across multiple VirtualMCPServer instances.
- Adds comprehensive documentation guide for the new CRD with examples and best practices
- Implements CRD definition with validation rules for workflow structure, parameters, steps, and dependencies
- Creates validation webhook with cycle detection, template validation, and error handling checks
Reviewed Changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| docs/operator/virtualmcpcompositetooldefinition-guide.md | Comprehensive user guide with examples, validation rules, and troubleshooting |
| deploy/charts/operator-crds/crds/toolhive.stacklok.dev_virtualmcpservers.yaml | Adds compositeToolRefs field to reference composite tool definitions |
| deploy/charts/operator-crds/crds/toolhive.stacklok.dev_virtualmcpcompositetooldefinitions.yaml | New CRD definition with OpenAPI schema validation |
| cmd/thv-operator/api/v1alpha1/virtualmcpserver_types.go | Adds CompositeToolRefs field to VirtualMCPServerSpec |
| cmd/thv-operator/api/v1alpha1/virtualmcpcompositetooldefinition_types.go | Type definitions for the new CRD including spec, status, and supporting types |
| cmd/thv-operator/api/v1alpha1/virtualmcpcompositetooldefinition_webhook.go | Validation logic for workflow definitions including cycle detection |
| cmd/thv-operator/api/v1alpha1/virtualmcpcompositetooldefinition_webhook_test.go | Comprehensive test coverage for validation logic |
| cmd/thv-operator/api/v1alpha1/zz_generated.deepcopy.go | Generated DeepCopy methods for new types |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
deploy/charts/operator-crds/crds/toolhive.stacklok.dev_virtualmcpcompositetooldefinitions.yaml
Show resolved
Hide resolved
cmd/thv-operator/api/v1alpha1/virtualmcpcompositetooldefinition_webhook_test.go
Outdated
Show resolved
Hide resolved
4cc499b to
e399248
Compare
e399248 to
8205fe0
Compare
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #2412 +/- ##
==========================================
+ Coverage 54.54% 54.87% +0.33%
==========================================
Files 264 274 +10
Lines 25351 26001 +650
==========================================
+ Hits 13828 14269 +441
- Misses 10210 10401 +191
- Partials 1313 1331 +18 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
3fb4722 to
822618f
Compare
9fc7023 to
3bd909a
Compare
3bd909a to
30fca44
Compare
cmd/thv-operator/api/v1alpha1/virtualmcpcompositetooldefinition_webhook.go
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 15 out of 15 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
deploy/charts/operator-crds/crds/toolhive.stacklok.dev_virtualmcpcompositetooldefinitions.yaml
Outdated
Show resolved
Hide resolved
60c464b to
9a42746
Compare
9a42746 to
5a6af7b
Compare
Design and implement the VirtualMCPCompositeToolDefinition CRD for defining reusable composite workflows that can be referenced by multiple VirtualMCPServer instances.
Closes: #2433