-
Notifications
You must be signed in to change notification settings - Fork 8
Add Linkerd agent #34
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
base: main
Are you sure you want to change the base?
Conversation
61d5bef to
bd3e335
Compare
Signed-off-by: Ivan Porta <[email protected]>
Signed-off-by: Ivan Porta <[email protected]>
Signed-off-by: Ivan Porta <[email protected]>
Signed-off-by: Ivan Porta <[email protected]>
Signed-off-by: Ivan Porta <[email protected]>
Signed-off-by: Ivan Porta <[email protected]>
Signed-off-by: Ivan Porta <[email protected]>
EItanya
left a comment
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.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point! Sure, we can definitely use stdin without going through a temp file. :-)
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.
one way is to run it as kubectl -f - and stream manifest as input
| // 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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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?
| // | ||
| // 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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same comment about number of args
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.
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
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.