Introduction

You can install applications from the Applications Marketplace through the command-line interface. The installation depends on whether you are creating a new cluster or adding applications to an existing cluster.

Listing Available Applications

To get an up-to-date list of available applications on the Marketplace, run civo kubernetes apps list. At the time of writing, the list looked like this:

+---------------------------+-------------+--------------+-----------------+-----------------------------+
| Name                      | Version     | Category     | Plans           | Dependencies                |
+---------------------------+-------------+--------------+-----------------+-----------------------------+
| cert-manager              | v0.11.0     | architecture |                 | Helm                        |
| docker-registry           | ALPHA       | architecture |                 | Helm, cert-manager, Traefik |
| haproxy                   | 1.4.6       | architecture |                 |                             |
| Helm                      | 2.16.5      | management   |                 |                             |
| Jenkins                   | 2.190.1     | ci_cd        | 5GB, 10GB, 20GB | Longhorn                    |
| KubeDB                    | v0.12.0-r1  | database     |                 | Longhorn                    |
| Kubeless                  | 1.0.5       | architecture |                 |                             |
| kubernetes-dashboard      | v2.0.0      | management   |                 |                             |
| Linkerd                   | 2.5.0       | architecture |                 |                             |
| Longhorn                  | 0.7.0       | storage      |                 |                             |
| Maesh                     | Latest      | architecture |                 | Helm                        |
| MariaDB                   | 10.4.7      | database     | 5GB, 10GB, 20GB | Longhorn                    |
| metrics-server            | (default)   | architecture |                 |                             |
| MinIO                     | 2019-08-29  | storage      | 5GB, 10GB, 20GB | Longhorn                    |
| MongoDB                   | 4.2.0       | database     | 5GB, 10GB, 20GB | Longhorn                    |
| OpenFaaS                  | 0.18.0      | architecture |                 | Helm                        |
| Portainer                 | beta        | management   |                 |                             |
| PostgreSQL                |        11.5 | database     | 5GB, 10GB, 20GB | Longhorn                    |
| prometheus-operator       | 0.35.0      | monitoring   |                 |                             |
| Rancher                   | v2.3.0      | management   |                 |                             |
| Redis                     |         3.2 | database     |                 |                             |
| sealed-secrets            | v0.12.4     | architecture |                 |                             |
| Selenium                  | 3.141.59-r1 | ci_cd        |                 |                             |
| system-upgrade-controller | v0.6.2      | architecture |                 |                             |
| Tekton                    | v0.14.0     | ci_cd        |                 |                             |
| Traefik                   | (default)   | architecture |                 |                             |
+---------------------------+-------------+--------------+-----------------+-----------------------------+

Show Applications details when is installed in the cluster

This option will be allow you to see the post-install instruction of every app installed in the cluster

$ civo kubernetes application show Traefik apps-demo-cluster

the first parameter is for the name of the app and the second is the name of the cluster

Installing Applications Onto a New Cluster

To specify applications to install onto a new cluster, list them at cluster creation by specifying their name from the list above:

$ civo kubernetes create apps-demo-cluster --nodes=2  --applications=Redis,Linkerd

Now, if you take a look at the cluster's details, you will see the newly-installed applications listed:

$ civo kubernetes show apps-demo
                ID : 1199efbe-e2a5-4d25-a32f-0b7aa50082b2
              Name : apps-demo-cluster
           # Nodes : 2
              Size : g2.medium
            Status : ACTIVE
           Version : 0.8.1
      API Endpoint : https://[Cluster-IP]:6443
         Master IP : [Cluster-IP]
      DNS A record : 1199efbe-e2a5-4d25-a32f-0b7aa50082b2.k8s.civo.com

Nodes:
+------------------+----------------+--------+
| Name             | IP             | Status |
+------------------+----------------+--------+
| kube-master-1e91 |      (IP)      | ACTIVE |
| kube-node-e678   |      (IP)      | ACTIVE |
+------------------+----------------+--------+

Installed marketplace applications:
+---------+-----------+-----------+--------------+
| Name    | Version   | Installed | Category     |
+---------+-----------+-----------+--------------+
| Traefik | (default) | Yes       | architecture |
| Linkerd | 2.5.0     | Yes       | architecture |
| Redis   | 3.2       | Yes       | database     |
+---------+-----------+-----------+--------------+

Installing Applications to an Existing Cluster

If you want to add a new application to an existing cluster, you can do so by running the civo applications command specifying the cluster and the app(s) you wish to add:

$ civo kubernetes applications add Longhorn --cluster=apps-demo
Added Longhorn 0.5.0 to Kubernetes cluster apps-demo-cluster

Installing Applications That Require Plans

Some applications, specifically database apps, require a storage plan that you can specify at installation time from the list of plan options. If you do not provide a plan for an application that requires one, the CLI will notify you and suggest a default size:

$ civo kubernetes applications add mariadb --cluster=apps-demo
You requested to add MariaDB but didn't select a plan. Please choose one... (5GB, 10GB, 20GB) [5GB]: 10GB
Thank you, next time you could use "MariaDB:10GB" to choose automatically
Added MariaDB 10.4.7 to Kubernetes cluster apps-demo-cluster