Apps

Apps are Helm charts from Helm Hub or other Helm repositories which you can manage via Loft.

Besides the "Cluster" tab showing all installed and recommended charts, you can also view the details of your apps in the "Apps" tab.

Loft UI - Cluster: Apps Tab

Types of Apps

System Apps

System apps are Helm charts which are installed into the cluster by Loft during the cluster initialization process, i.e. right after connecting the cluster. These apps are managed and upgraded by Loft. You cannot delete or upgrade them manually because this would impact Loft's ability to manage the cluster. Currently, only kiosk is a system app.

App Store

Because Loft is connected to Helm Hub, you can install over 1,200 Helm charts with just a few clicks.

Recommended Apps: After connecting a cluster, Loft suggests a few popular apps from Helm Hub which you can see in the "Cluster" tab. Click on one to configure and install it. Currently the following apps are recommended:

  • nginx-ingress: allows cluster users to make their applications available on (sub-) domains via ingresses
  • cert-manager: allows engineers to create certificates, e.g. to enable SSL for their ingresses
  • cert-issuer: tells cert-manager to use Let's Encrypt for generating valid certificates
  • isolation-templates: for namespace isolation templates
  • harbor: to deploy the Harbor image registry

Other Apps: To install other apps, click on "Explore other apps" and use the searchable select to find charts.

Workflows

Install Apps

Installing apps essentially runs helm install.

Loft UI - Cluster Overview: Apps

Import Apps

By default, Loft only shows Helm charts which have the label loft.sh/app: true. This label needs to be set on the secrets that Helm creates for a respective release. Additionally, there is the label loft.sh/system-app: true and the annotation loft.sh/url: REPO_URL to provide additional details about the app.

Sometimes, it can be useful to "import" an already existing Helm chart by adding the missing labels and annotations. This has the advantage that you can view and manage the Helm release using the Loft UI. With the helper script import-helm-release, you can import Helm releases into Loft.

tip

If you connected the management cluster (that Loft is running in), you can:

Import cert-manager:

curl -L "https://raw.githubusercontent.com/loft-sh/loft/master/hack/import-helm-release.sh" | bash -s -- "cert-manager" "https://charts.jetstack.io"

Import nginx-ingress:

curl -L "https://raw.githubusercontent.com/loft-sh/loft/master/hack/import-helm-release.sh" | bash -s -- "nginx-ingress" "https://kubernetes-charts.storage.googleapis.com"

Import loft and label it as system app:

curl -L "https://raw.githubusercontent.com/loft-sh/loft/master/hack/import-helm-release.sh" | bash -s -- "loft" "https://charts.devspace.sh" true false

Upgrade Apps

You can upgrade (or downgrade) your apps in the UI which essentially performs a helm upgrade. Upgrading apps is also useful to change the configuration of an app (helm values).

Loft UI - Upgrade App

Uninstall Apps

Uninstalling an app essentially performs helm delete.

Loft UI - Uninstall App