arkade - get Kubernetes apps, the easy way
arkade provides a simple Golang CLI with strongly-typed flags to install charts and apps to your cluster in one command.
Gone are the days of contending with dozens of README files just to get the right version of helm and to install a chart with sane defaults.
# Note: you can also run without `sudo` and move the binary yourself curl -sLS https://dl.get-arkade.dev | sudo sh arkade --help ark --help # a handy alias # Windows users with Git Bash curl -sLS https://dl.get-arkade.dev | sh
Windows users: arkade requires bash to be available, therefore Windows users can install Git Bash.
An alias of
ark is created at installation time, so you can also run
ark install APP
Here's a few examples of apps you can install, for a complete list run:
arkade install --help.
arkade install- install an app
arkade update- update arkade
arkade info- the post-install screen for an app
Install an app
No need to worry about whether you're installing to Intel or ARM architecture, the correct values will be set for you automatically.
arkade install openfaas --gateways 2 --load-balancer false
Reduce the repetition
Normally up to a dozen commands (including finding and downloading helm), now just one. No searching for the correct CRD to apply, no trying to install helm, no trying to find the correct helm repo to add:
arkade install cert-manager
Other common tools:
arkade install ingress-nginx arkade install metrics-server
Bye-bye values.yaml, hello flags
We use strongly typed Go CLI flags, so that you can run
--help instead of trawling through countless Helm chart README files to find the correct
--set combination for what you want.
arkade install ingress-nginx --help Install ingress-nginx. This app can be installed with Host networking for cases where an external LB is not available. please see the --host-mode flag and the ingress-nginx docs for more info Usage: arkade install ingress-nginx [flags] Aliases: ingress-nginx, nginx-ingress Examples: arkade install ingress-nginx --namespace default Flags: --helm3 Use helm3, if set to false uses helm2 (default true) -h, --help help for ingress-nginx --host-mode If we should install ingress-nginx in host mode. -n, --namespace string The namespace used for installation (default "default") --update-repo Update the helm repo (default true)
You can also set helm overrides, for apps which use helm via
ark install openfaas --set=faasIdler.dryRun=false
After installation, an info message will be printed with help for usage, you can get back to this at any time via:
arkade info <NAME>
Get a self-hosted TLS registry with authentication
Here's how you can get a self-hosted Docker registry with TLS and authentication in just 5 commands on an empty cluster:
arkade install ingress-nginx arkade install cert-manager arkade install docker-registry arkade install docker-registry-ingress \ --email firstname.lastname@example.org \ --domain reg.example.com
Get OpenFaaS with TLS
The same for OpenFaaS would look like this:
arkade install ingress-nginx arkade install cert-manager arkade install openfaas arkade install openfaas-ingress \ --email email@example.com \ --domain reg.example.com
Get a public IP for a private cluster and your IngressController
arkade install inlets-operator \ --access-token $HOME/digitalocean-token \ --region lon1 \ --license $(cat $HOME/license.txt)
Tutorials & community blog posts
- arkade by example — Kubernetes apps, the easy way
😎- Alex Ellis
- Get a TLS-enabled Docker registry in 5 minutes - Alex Ellis
- Get TLS for OpenFaaS the easy way with arkade - Alex Ellis
- Walk-through — install Kubernetes to your Raspberry Pi in 15 minutes
- A bit of Istio before tea-time - Alex Ellis
- Introducing Arkade - The Kubernetes app installer - Alistair Hey
Explore the apps
arkade install --help ark --help cert-manager Install cert-manager chart Install the specified helm chart cron-connector Install cron-connector for OpenFaaS crossplane Install Crossplane docker-registry Install a Docker registry docker-registry-ingress Install registry ingress with TLS info Find info about a Kubernetes app inlets-operator Install inlets-operator istio Install istio kafka-connector Install kafka-connector for OpenFaaS kubernetes-dashboard Install kubernetes-dashboard linkerd Install linkerd metrics-server Install metrics-server minio Install minio mongodb Install mongodb ingress-nginx Install ingress-nginx openfaas Install openfaas openfaas-ingress Install openfaas ingress with TLS postgresql Install postgresql
Community & contributing
As of May 2020, you can propose your project or product as a Sponsored App. Sponsored Apps work just like any other app that we've curated, however they will have a note next to them in the app description
(sponsored) and a kink to your chosen site upon installation. An app sponsorship can be purchased for a minimum of 12 months and includes free development and support of the app for arkade. When your sponsorship expires your app can be renewed at that time, or it will disappear automatically based upon the end-date.
Email firstname.lastname@example.org to find out more.
What about helm and
In the same way that brew uses git and Makefiles to compile applications for your Mac,
arkade uses upstream helm charts and kubectl to install applications to your Kubernetes cluster.
On k3sup vs. arkade: The codebase in this project is derived from
k3sup. k3sup (ketchup) was developed to automate building of k3s clusters over SSH, then gained the powerful feature to install apps in a single command. The presence of the word "k3s" in the name of the application confused many people, this is why arkade has come to exist.
And yes, of course it works with k3s and where possible, apps are available for ARM.
Tools and cached versions of helm
When required, tools, CLIs, and the helm binaries are downloaded and extracted to
If installing a tool which uses helm3, arkade will check for a cached version and use that, otherwise it will download it on demand.
Suggesting a new app
To suggest a new app, please check past issues and raise an issue for it.
Improving the code or fixing an issue
Both Issues and PRs have their own templates. Please fill out the whole template.
All commits must be signed-off as part of the Developer Certificate of Origin (DCO)
Join us on Slack
Join #arkade on slack.openfaas.io