ASDF Version Manager Plugins26 Apr 2020
Installing and managing the latest version of a command line tool can be a pain and very time consuming.
As developers we typically want to use the latest and greatest version of a tool before it becomes more widely
available via official deployment channels, such as
snap on Linux and
homebrew on Mac.
Luckily, there is a simple version manager, asdf, which makes life very easy with it’s plugin capabilities.
There are many plugins provided by the community, including for:
- DotNet Core
- GitHub CLI
And, creating plugins is easy. You need 3 shell scripts, namely:
bin/list-all- lists all installable versions
bin/download- download source code or binary for the specified version
bin/install- installs the specified version
See the official documentation for more details.
I spend a fair amount of time doing technical research, so often times there isn’t a distribution of the command line tool I’m testing out, so I usually resort to spending 10 to 15 minutes whipping up an asdf plugin for the given tool.
Here are some of the plugins I’ve created:
asdf-aws-vault- AWS Vault is a tool to securely store and access AWS credentials in a development environment.
asdf-devspace- DevSpace is the next-generation tool for fast cloud-native software development.
asdf-docker-compose- Compose is a tool for defining and running multi-container Docker applications.
asdf-docker-machine- Machine lets you create Docker hosts on your computer, on cloud providers, and inside your own data center.
asdf-glooctl- Gloo is a feature-rich, Kubernetes-native ingress controller, and next-generation API gateway.
asdf-grv- GRV is a terminal interface for viewing git repositories.
asdf-helm- Helm is the best way to find, share, and use software built for Kubernetes.
asdf-istioctl- Istio configuration command line utility for service operators to debug and diagnose their Istio mesh.
asdf-k9s- Kubernetes CLI to manage your clusters in style.
asdf-kubebuilder- SDK for building Kubernetes APIs using CRDs.
asdf-kubectx- Faster way to switch between clusters and namespaces in kubectl.
asdf-skaffold- For easy and repeatable Kubernetes development.
asdf-sonarscanner- SonarScanner is the scanner to use when there is no specific scanner for your build system.
asdf-tilt- A multi-service dev environment for teams on Kubernetes.