linkerd / linkerd2

Ultralight, security-first service mesh for Kubernetes. Main repo for Linkerd 2.x.
https://linkerd.io
Apache License 2.0
10.59k stars 1.27k forks source link

idea: CLI update option #2184

Open jonrichards opened 5 years ago

jonrichards commented 5 years ago

Rather than needing to run curl -sL https://run.linkerd.io/install | sh to get a new version of the CLI, it would be nice if the CLI provided a mechanism for updating itself (e.g. linkerd cli-update).

A naive implementation would just be to wrap curl -sL https://run.linkerd.io/install | sh into something like linkerd cli-update. That might be a suitable first step. Some things to consider:

grampelberg commented 5 years ago

Somewhat related to #1903 (on the control plane side).

olix0r commented 5 years ago

I think https://github.com/linkerd/linkerd2/pull/2274 would be pretty slick as part of the CLI update, fwiw

harsh-98 commented 5 years ago

@grampelberg @olix0r I am planning to work on auto-update feature for gsoc. This issue was referred to in the gsoc issue and i find it suitable for me at this stage. I have started implementing a solution. Firstly, we will list all the version of linkerd2 using github api, then use will select one. If the $HOME/.linkerd2/bin is present then replace the linkerd2 binary, else ask use to choose directory or use which. And for major version changes seek user permission. This will work like node version manager.