chore: remove toolhive and mcpserver references#210
Conversation
2c656c8 to
f7d059a
Compare
cwiklik
left a comment
There was a problem hiding this comment.
Review Summary
Clean removal of all ToolHive/MCPServer CRD references, replaced with standard Kubernetes Deployments. Thorough and consistent — no leftover toolhive mentions. Good security posture preserved in the Deployment spec (nonRoot, drop ALL, seccomp). Consistent kagenti.io/type=tool selectors throughout.
However, there are a few functional gaps in the documentation that should be addressed before merge.
Areas reviewed: Docs, YAML, Security
Commits: 1 (signed-off: yes)
CI status: all passing
Must-fix issues
1. Missing Service manifest — The doc shows a Deployment but no Service YAML, yet all examples reference weather-tool-mcp.team1.svc.cluster.local. A user following this guide step-by-step won't have a working Service. Either add a Service manifest or clarify what creates it (Kagenti operator auto-creates it?).
2. Phantom service account name — Troubleshooting references kubectl get serviceaccount weather-service but this name doesn't appear anywhere else in the doc. The Deployment YAML has no serviceAccountName field. Should this be weather-tool or removed entirely?
3. Grammar — "The reason this DNS name works is that Kubernetes Service is created" → "...is that a Kubernetes Service is created"
Suggestions
4. Verbose Deployment YAML — The YAML is ~80 lines with defaults users don't need to set (progressDeadlineSeconds, revisionHistoryLimit, terminationMessagePolicy, strategy block, etc.). For a getting-started guide, a minimal Deployment (~25 lines, letting K8s defaults handle the rest) would be friendlier.
5. Unexplained kagenti.io/inject: disabled label — This label is new but not explained. Users won't know what it controls or when to change it.
6. Inconsistent terminology — Alternates between "MCP server", "MCP Server Deployment", and "MCP Server resource". Since these are now plain Deployments (not CRDs), pick one consistent term.
kagenti-operator/GETTING_STARTED.md
Outdated
| app.kubernetes.io/name: weather-tool | ||
| kagenti.io/framework: Python | ||
| protocol.kagenti.io/streamable_http: "" | ||
| kagenti.io/inject: disabled |
There was a problem hiding this comment.
suggestion: kagenti.io/inject: disabled is a new label not present in the old MCPServer YAML. Users following a getting-started guide won't know what it controls or when they might want to change it. Consider adding a brief inline comment or note.
kagenti-operator/GETTING_STARTED.md
Outdated
| targetPort: 8000 | ||
| proxyPort: 8000 | ||
| podTemplateSpec: | ||
| progressDeadlineSeconds: 600 |
There was a problem hiding this comment.
suggestion: This Deployment YAML looks like a kubectl get -o yaml dump rather than a minimal example. Fields like progressDeadlineSeconds: 600, revisionHistoryLimit: 10, terminationMessagePath, terminationMessagePolicy, dnsPolicy, schedulerName, and the full strategy block are all Kubernetes defaults that users don't need to set. For a getting-started guide, a minimal Deployment (~25 lines) would be much friendlier and less intimidating. The old MCPServer YAML was ~25 lines.
f7d059a to
5aa8fa9
Compare
Signed-off-by: Bobbins228 <mcampbel@redhat.com>
5aa8fa9 to
5409e05
Compare
Summary
Removed toolhive and mcpserver CRD references in GETTING_STARTED.md
Related issue(s)
(Optional) Testing Instructions
Fixes #