Conversation
61d5bef to
bd3e335
Compare
Signed-off-by: Ivan Porta <porta.ivan@outlook.com>
Signed-off-by: Ivan Porta <porta.ivan@outlook.com>
Signed-off-by: Ivan Porta <porta.ivan@outlook.com>
Signed-off-by: Ivan Porta <porta.ivan@outlook.com>
Signed-off-by: Ivan Porta <porta.ivan@outlook.com>
EItanya
left a comment
There was a problem hiding this comment.
Thanks so much for adding the linkerd tools, we're super excited to have support for more CNCF projects. I just left a few high level comments, besides that things are looking good!
| } | ||
|
|
||
| func runKubectlManifestCommand(ctx context.Context, action, manifest string) (string, error) { | ||
| manifestPath, err := writeManifestToTempFile(manifest) |
There was a problem hiding this comment.
I'm not sure this will work in cluster without a mounted memory volume or some such. Does this require a tmpfile or can we use stdin?
There was a problem hiding this comment.
Good point! Sure, we can definitely use stdin without going through a temp file. :-)
There was a problem hiding this comment.
one way is to run it as kubectl -f - and stream manifest as input
There was a problem hiding this comment.
if purpose only to apply response of install - then lets do it internally without exposing it outside
| // linkerd install | kubectl apply -f - | ||
| // | ||
| // Additional configuration options are documented at https://artifacthub.io/packages/helm/linkerd2/linkerd-control-plane#values | ||
| func handleLinkerdInstall(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) { |
There was a problem hiding this comment.
I'm a little worried that the number of args here will confuse the LLM, do you think there's a smaller set of args we can start with to make sure the experience is better by default?
There was a problem hiding this comment.
same concern. maybe we can keep simplest install but allow to pass advanced flags
{ "name": "linkerd_install", "description": "Install Linkerd control plane. Most flags have sensible defaults.", "inputSchema": { "properties": { "profile": { "enum": ["default", "ha", "minimal"], "description": "Installation profile (sets multiple flags)" }, "output": { "enum": ["yaml", "json", "table"], "default": "yaml" }, "overrides": { "type": "object", "description": "Advanced: Override any CLI flag as key-value pairs", "additionalProperties": {"type": "string"} } } } }
| // | ||
| // linkerd install-cni [flags] | ||
| func handleLinkerdInstallCNI(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) { | ||
| skipChecks := mcp.ParseString(request, "skip_checks", "") == "true" |
There was a problem hiding this comment.
Same comment about number of args
There was a problem hiding this comment.
Yes, we can always add more as more requirements are found, but my guess is that there are some sane defaults we can use 99% of the time, especially at first
|
@GTRekter could you please resolve conflicts? |
Signed-off-by: Ivan (이반) Porta <porta.ivan@outlook.com>
| // linkerd install | kubectl apply -f - | ||
| // | ||
| // Additional configuration options are documented at https://artifacthub.io/packages/helm/linkerd2/linkerd-control-plane#values | ||
| func handleLinkerdInstall(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) { |
There was a problem hiding this comment.
same concern. maybe we can keep simplest install but allow to pass advanced flags
{ "name": "linkerd_install", "description": "Install Linkerd control plane. Most flags have sensible defaults.", "inputSchema": { "properties": { "profile": { "enum": ["default", "ha", "minimal"], "description": "Installation profile (sets multiple flags)" }, "output": { "enum": ["yaml", "json", "table"], "default": "yaml" }, "overrides": { "type": "object", "description": "Advanced: Override any CLI flag as key-value pairs", "additionalProperties": {"type": "string"} } } } }
| } | ||
|
|
||
| func runKubectlManifestCommand(ctx context.Context, action, manifest string) (string, error) { | ||
| manifestPath, err := writeManifestToTempFile(manifest) |
There was a problem hiding this comment.
if purpose only to apply response of install - then lets do it internally without exposing it outside
|
@GTRekter looks like there are still issues with TOOLS_LINKERD_VERSION - it seems empty in the CI Could you have a look and resolve conflicts with main please ? |
First version of the Linkerd OSS Agent. It enables users to inject Linkerd proxies and use Linkerd CLI subcommands to inspect certificates, and check control-plane and data-plane health.
Diagnostics commands are included to simplify troubleshooting of policies, endpoints, and profiles.