Repository navigation
Conversation
Make the kagent-tools image usable as a kagent 1.x Agent Plugin source: - /opt/kagent-tools: full bundle (stdio MCP server, kubectl, helm, istioctl, kubectl-argo-rollouts, cilium, kubeconfig, skills) - /opt/kagent-tools-skills: skills-only root for use with the Helm-deployed server - seven SKILL.md skills, one per tool provider - legacy /tool-server and /bin/* paths preserved as symlinks - env fallbacks (KAGENT_TOOLS_TOOLS, KAGENT_TOOLS_READ_ONLY, KAGENT_TOOLS_DEFAULT_KUBECONFIG); kubeconfig exported to all CLIs - stdio mode keeps stdout clean (trace exporter writes to stderr) - plugin bundle/image tests, make plugin-verify, CI job, docs Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Signed-off-by: Dmytro Rashko <dimetron@me.com>
golangci-lint v2.13.2 cannot load Go 1.27 export data, so the lint pin moves with the toolchain. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Signed-off-by: Dmytro Rashko <dimetron@me.com>
- track plugin/mcp.json (a global **/mcp.json ignore had dropped it) - docs: omit apiGroup on RemoteMCPServer refs (kagent CEL rejects it) - share logger.UseStderrEnv/UseStderr instead of repeated literals - move env export out of run() into tested applyServerEnvironment, propagating Setenv errors - generic decodeStrict without any; KUBECONFIG constant - image test: resolve root symlinks, assert /usr/bin legacy links - verify script runs /tool-server, /bin/kubectl and /bin/helm Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Signed-off-by: Dmytro Rashko <dimetron@me.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.
Summary
Makes the kagent-tools image usable as a kagent 1.x Agent Plugin (OCI image source), bundling every CLI tool plus skills.
Image layout
/opt/kagent-tools— full bundle: stdio MCP server (plugin.json+mcp.json),kubectl,helm,istioctl,kubectl-argo-rollouts,cilium, plugin kubeconfig, skills/opt/kagent-tools-skills— skills-only root, for use alongside the Helm-deployed server/tool-serverand/bin/*preserved as symlinks (Helm chart unchanged)Changes
plugin/skills/(k8s, helm, istio, argo rollouts, cilium, kubescape, prometheus)KAGENT_TOOLS_TOOLS,KAGENT_TOOLS_READ_ONLY,KAGENT_TOOLS_DEFAULT_KUBECONFIG; resolved kubeconfig exported to all CLIscmd/plugin_bundle_test.go(manifests, frontmatter, every skill-referenced tool is registered),cmd/plugin_image_test.go(mirrors kagentvalidatePackage)make plugin-verify+plugin-verifyCI jobdocs/kagent-skills.md, README, AGENTS.md; design + plan underdocs/superpowers/Known limitation
kagent's current 100 MiB per-package limit rejects the full root (~546 MiB). The skills-only root works on current kagent. The full root needs an upstream kagent change exempting platform-mounted OCI packages (Task 0 in the plan). The bundled MCP server is only started by the Go ADK harness.
Testing
make test-only✅,go vet✅, golangci-lint v2.15.0 ✅ (pinned v2.13.2 can't load Go 1.27 export data — pre-existing)make plugin-verify✅ (layout check + stdiotools/listsmoke test)Toolchain