Skip to content
Kubernetes apps, the easy way 😎
Go Shell Makefile
Branch: master
Clone or download

Latest commit

alexellis Copy note about bash from k3sup
Ref #71

Signed-off-by: Alex Ellis (OpenFaaS Ltd) <>
Latest commit 29ff156 Mar 25, 2020


Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Updated PR template Mar 16, 2020
ci Rename for English speakers Feb 26, 2020
cmd Update crossplane info message with new terminology Mar 21, 2020
docs Add images Feb 27, 2020
hack Rename to bazaar Feb 26, 2020
pkg Add license to pkg files Mar 9, 2020
.DEREK.yml Add .DEREK.yml Feb 26, 2020
.gitignore Add images Feb 27, 2020
.travis.yml Update token for uploads Feb 26, 2020
LICENSE Rename to bazaar Feb 26, 2020
Makefile Update fmt target Feb 26, 2020 Copy note about bash from k3sup Mar 25, 2020 Make Grep case insensitive in download script Feb 28, 2020
go.mod Tidy go-mod Feb 26, 2020
go.sum Tidy go-mod Feb 26, 2020
main.go Add license headers Mar 9, 2020

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.

arkade logo

Build Status GoDoc License: MIT Go Report Card GitHub All Releases

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.

Get arkade

# Note: you can also run without `sudo` and move the binary yourself
curl -sLS | sudo sh

arkade --help
ark --help  # a handy alias

# Windows users with Git Bash
curl -sLS | 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

You can buy an arkade t-shirt in the OpenFaaS Ltd store


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 nginx-ingress

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 nginx-ingress --help

Install nginx-ingress. 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 nginx-ingress docs for more info

  arkade install nginx-ingress [flags]

  arkade install nginx-ingress --namespace default

      --helm3              Use helm3, if set to false uses helm2 (default true)
  -h, --help               help for nginx-ingress
      --host-mode          If we should install nginx-ingress in host mode.
  -n, --namespace string   The namespace used for installation (default "default")
      --update-repo        Update the helm repo (default true)

Override with --set

You can also set helm overrides, for apps which use helm via --set

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 nginx-ingress
arkade install cert-manager
arkade install docker-registry
arkade install docker-registry-ingress \
  --email \

Get OpenFaaS with TLS

The same for OpenFaaS would look like this:

arkade install nginx-ingress
arkade install cert-manager
arkade install openfaas
arkade install openfaas-ingress \
  --email \

Get a public IP for a private cluster and your IngressController

And if you're running on a private cloud, on-premises or on your laptop, you can simply add the inlets-operator using inlets-pro to get a secure TCP tunnel and a public IP address.

arkade install inlets-operator \
  --access-token $HOME/digitalocean-token \
  --region lon1 \
  --license $(cat $HOME/license.txt)

Tutorials & community blog posts

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
nginx-ingress           Install nginx-ingress
openfaas                Install openfaas
openfaas-ingress        Install openfaas ingress with TLS
postgresql              Install postgresql

Community & contributing

What about helm and k3sup?

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 $HOME/.arkade.

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

Before contributing code, please see the CONTRIBUTING guide. Note that arkade uses the same guide as

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



You can’t perform that action at this time.