arkade provides a simple Golang CLI with strongly-typed flags to install charts and apps to your cluster in one command.
You can also download CLIs like kubectl
, kind
, kubectx
and helm
faster than you can type "apt-get/brew update".
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
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 apparkade info
- the post-install screen for an apparkade get
- install a CLI tool such askubectl
orfaas-cli
arkade update
- print instructions to update arkade itself
arkade downloads the correct version of a CLI for your OS and CPU.
With automatic detection of: Windows / MacOS / Linux / Intel / ARM.
arkade get faas-cli
arkade get helm
arkade get inletsctl
arkade get k3d
arkade get kind
arkade get kubectl
arkade get kubectx
arkade get kubeseal
This is a time saver compared to searching for download pages every time you need a tool.
Think of arkade get TOOL
as a doing for CLIs, what arkade install
does for helm.
If you have Docker installed, then you can install Kubernetes using KinD in a matter of moments:
arkade get kubectl
arkade get kind
kind create cluster
You can also download k3d k3s in the same way with arkade get k3d
.
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
Remember how awkward it was last time you installed the Kubernetes dashboard? And how you could never remember the command to get the token to log in?
arkade install kubernetes-dashboard
Forgot your token? arkade info kubernetes-dashboard
Prefer Portainer? Just run: arkade install portainer
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
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 --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>
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 web@example.com \
--domain reg.example.com
The same for OpenFaaS would look like this:
arkade install ingress-nginx
arkade install cert-manager
arkade install openfaas
arkade install openfaas-ingress \
--email web@example.com \
--domain reg.example.com
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)
Video review from Rancher Labs:
Featured:
- arkade by example — Kubernetes apps, the easy way 😎 - Alex Ellis
- Walk-through — install Kubernetes to your Raspberry Pi in 15 minutes
- Get a TLS-enabled Docker registry in 5 minutes - Alex Ellis
- Get TLS for OpenFaaS the easy way with arkade - Alex Ellis
Community posts:
- A bit of Istio before tea-time - Alex Ellis
- Introducing Arkade - The Kubernetes app installer - Alistair Hey
- Portainer for kubernetes in less than 60 seconds!! - by Saiyam Pathak
- Video walk-through with DJ Adams - Pi & Kubernetes with k3s, k3sup, arkade and OpenFaaS
You can view the various apps available with arkade install / --help
, more are available when you run the command yourself.
arkade install --help
argocd Install argocd
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
grafana Install grafana
info Find info about a Kubernetes app
ingress-nginx Install ingress-nginx
inlets-operator Install inlets-operator
istio Install istio
jenkins Install jenkins
kafka-connector Install kafka-connector for OpenFaaS
kube-state-metrics Install kube-state-metrics
kubernetes-dashboard Install kubernetes-dashboard
linkerd Install linkerd
loki Install Loki for monitoring and tracing
metrics-server Install metrics-server
minio Install minio
mongodb Install mongodb
nats-connector Install OpenFaaS connector for NATS
nfs-client-provisioner Install nfs client provisioner
openfaas Install openfaas
openfaas-ingress Install openfaas ingress with TLS
openfaas-loki Install Loki-OpenFaaS and Configure Loki logs provider for OpenFaaS
portainer Install portainer to visualise and manage containers
postgresql Install postgresql
redis Install redis
tekton Install Tekton pipelines and dashboard
traefik2 Install traefik2
To suggest a new app, please check past issues and raise an issue for it. Think also whether your app suggestion would be a good candidate for a Sponsored App.
You can now 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 link 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 sales@openfaas.com to find out more.
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. arkade exposes strongly-typed flags for the various popular options for helm charts, and enables easier discovery through arkade install --help
and arkade install APP --help
.
If you consider helm suitable, and kubectl
then yes, arkade by definition uses those tools and the upstream artifacts of OSS projects.
Do you want to run arkade in a CI or CD pipeline? Go ahead.
Generally speaking, tools that are used with the various arkade apps or with Kubernetes are in scope. If you want to propose a tool, raise a GitHub issue.
What about package management? arkade get
provides a faster alternative to package managers like apt
and brew
, you're free to use either or both at the same time.
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.
Did you accidentally run arkade as root? Running as root is not required, and will mean your KUBECONFIG environment variable will be ignored. You can revert this using the notes on release 0.1.18.
Before contributing code, please see the CONTRIBUTING guide. Note that arkade uses the same guide as inlets.dev.
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 #contributors
at https://slack.openfaas.io
MIT